博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot-WebMvcAutoConfiguration/WebMvcConfigurer/WebMvcRegistrationsAdapter
阅读量:4303 次
发布时间:2019-05-27

本文共 771 字,大约阅读时间需要 2 分钟。

WebMvcAutoConfiguration类上有个注解,叫ConditionalOnMissingBean,这导致有时候该配置类与接口WebMvcConfigurer行为不一样

比如:ConditionalOnMissingBean(A.class),则表示假如容器中有A了,就不再加载A类型以及A类型的子类

也就是说,假如有两个配置类,都继承了A,那么这两个配置类,只有一个会生效,另外一个不生效,而恰好,WebMvcAutoConfiguration上有个ConditionalOnMissingBean(WebMvcConfigurationSupport.class)

所以我们自己定义的配置类,不应该都extends WebMvcConfigurationSupport抽象类,而是应该implements WebMvcConfigurer接口

结论:配置类尽量implements WebMvcConfigurer,而不应该extends WebMvcConfigurationSupport

但是还有个问题,就是spring boot额外提供了WebMvcRegistrationsAdapter类,使用该类也可以实现自定义的一些spring组件功能,需要注意的是WebMvcRegistrationsAdapter与WebMvcConfigurer的区别,WebMvcRegistrationsAdapter是当你需要自定义spring mvc九个组件中的前三个的时候,需要使用WebMvcRegistrationsAdapter,而我们在WebMvcConfigurer中自定义的组件,准确的说那不是spring mvc中的九个组件之一,而是一些小的配置,九组件中某一个组件的配置,这点一定要区分清楚,否则你会记得很混乱

转载地址:http://kxhws.baihongyu.com/

你可能感兴趣的文章
中低频量化交易策略研发01_引言
查看>>
中低频量化交易策略研发06_推进的择时策略
查看>>
史丹·温斯坦称傲牛熊市的秘密
查看>>
期货市场技术分析01_理论基础
查看>>
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
X 分钟速成 Python
查看>>
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>