为什么springboot中引入WebMvcConfigurationSupport后SpringMvc的自动配置失效了


SpringBoot的官方文档中,可以看到, 如果想保持Spring Boot MVC原本的配置(自动配置)并且又想增加自己的配置,那么add your own @Configuration class of type WebMvcConfigurer but without @EnableWebMvc

 

 

当使用@EnableWebMvc,在这个类中可以看到

可以看到EnableWebMvc这个类里通过import引入 @Configuration 注解的类——DelegatingWebMvcConfiguration

来到DelegatingWebMvcConfiguration这个类里可以看到如下:

 

 

 DelegatingWebMvcConfiguration这个类又继承了 WebMvcConfigurationSupport这个类。

 

接着来到通过Ctrl+N查找并进到WebMvcAutoConfiguration这个类

 

在WebMvcAutoConfiguration这个类里看到有:

 

@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)这个注解的意义是,当没有WebMvcConfigurationSupport这个类的时候,WebMvcAutoConfiguration(也就是SpringMvc的自动配置类)才会生效
综上,可以得出为什么引入WebMvcConfigurationSupport这个类后SpringMvc的自动配置就会失效!

当然,如果你的需求是全部自己写SpringMvc的配置,那就要使用@EnableWebMvc来使它的自动配置失效了。

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM