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

Posted guhongying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么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的自动配置就会失效!

 

 

 

以上是关于为什么springboot中引入WebMvcConfigurationSupport后SpringMvc的自动配置失效了的主要内容,如果未能解决你的问题,请参考以下文章

为什么在SpringBoot+maven的项目中,所引入的依赖包可以不指定依赖的版本号?

SpringBoot项目引入本地Jar包

关于spring-boot中mongodb包的一个奇怪的版本问题

Springboot微服务中引入Seata

springboot项目IDEA引入layui框架,为啥单独运行html有效果而运行整个项目就没?

springboot中怎么集成Swagger,让你拥有属于自己的api管理器