為什么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