在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來使它的自動配置失效了。