为什么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的自动配置就会失效!

原文地址:https://www.cnblogs.com/Guhongying/p/10859486.html

时间: 2024-11-03 17:43:29

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

SpringBoot2继承了WebMvcConfigurationSupport后,WebMvcAutoConfiguration自动配置失效

SpringBoot1继承的WebMvcConfigurerAdapter,在 2 中废弃了 SpringBoot2继承了WebMvcConfigurationSupport 后,WebMvcAutoConfiguration自动配置失效,需要全部手动配置 @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { /** * 静态资源映射 */ @Override protected void ad

7、springmvc的自动配置

1.springmvc的自动配置 文档:https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/#boot-features-spring-mvc WebMvcAutoConfiguration.java Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:(WebMvcAutoConfiguration) * Inclusion of Co

Springboot 系列(三)Spring Boot 自动配置

注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 关于配置文件可以配置的内容,在 Spring Boot 官方网站已经提供了完整了配置示例和解释. 可以这么说,Spring Boot 的一大精髓就是自动配置,为开发省去了大量的配置时间,可以更快的融入业务逻辑的开发,那么自动配置是怎么实现的呢? 1. @SpringBootApplication 跟着 Spring Boot 的启动类的注解

SpringBoot源码学习系列之异常处理自动配置

1.源码学习 先给个SpringBoot中的异常例子,假如访问一个错误链接,让其返回404页面 在浏览器访问: 而在其它的客户端软件,比如postman软件: 很显然,在浏览器里访问才会返回页面,而在Postman直接返回json数据了,所以基于此现象,可以跟一下Springboot异常自动配置的原理,本博客基于学习了尚硅谷课程之后,自己动手实践再做的笔录 SpringBoot的异常自动配置类是ErrorMvcAutoConfiguration.java,可以简单跟一下源码: package o

[已解决]springBoot 中添加 dev-tools后,运行程序报错Unenhance strategy

发生条件:在pom.xml中增加dev-tools的依赖,程序启动后,调用程序接口报错 问题现象: ------------------------------------------------------------- Registered concrete types: 5 (approximate size: 630.7 kB) [interface java.util.Collection] : ArrayList<Object> [interface java.util.Map]

SpringBoot日记——SpringMvc自动配置与扩展篇

为了让SpringBoot保持对SpringMVC的全面支持和扩展,而且还要维持SpringBoot不写xml配置的优势,我们需要添加一些简单的配置类即可实现: 通常我们使用的最多的注解是: @Bean @Component 配置后的类就是我们要写在容器中的一些配置:详情后续再说,或者你也可以参考官方文档 关于扩展 这里我们说一下如何做扩展呢,先看一下原先在SpringMvc中我们是如何写的,来看XML(这是一段关于路径映射和拦截器的简单配置,访问hello路径也展示success.html的页

SpringBoot扩展SpringMVC自动配置

SpringBoot中自动配置了 ViewResolver(视图解析器) ContentNegotiatingViewResolver(组合所有的视图解析器) 自动配置了静态资源文件夹.静态首页.favicon.ico及Webjars Converter(转换器,转换类型使用) Formatter(格式化器) HttpMessageConverter(对SpringMVC的请求和响应进行序列化) MessageCodesResolver(定义错误代码生成规则) ConfigurableWebBi

Springboot学习~7:SpringMVC自动配置

Spring MVC auto-configuration Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:==(WebMvcAutoConfiguration)== Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. 自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象(View),视图对象决定如何渲染(转

【原创】关于flexviewer中引入图表时报的TypeError #1009解决方法

在自定义的widget中引入图表后,运行时出现TypeError #1009错误.本人网上查找了很多资料,其中大部分都是关于Flash中的动画效果问题,与这里的问题关系型不太大.故把问题的解决方法写在这里,与人方便,与己方便. 方法一: 1.在自定义的widget中添加如下两个方法: private function copyStyleFromParent(selector:String):void { var chartBaseStyle:CSSStyleDeclaration = style