为什么springboot中引入WebMvcConfigurationSupport后SpringMvc的自动配置失效了
2023-09-11 14:22:20 时间
在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来使它的自动配置失效了。
相关文章
- SpringMVC实现文件下载时,请求路径中的扩展名被省略
- SpringMVC 实现文件上传与下载,并配置异常页面
- SpringMVC基础-13-SpringMVC运行流程
- Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】
- SpringBoot ( 七 ) :springboot + mybatis 多数据源最简解决方案
- springmvc接收前台(可以是ajax)传来的数组list,map,set等集合,复杂对象集合等图文详解
- 【转】Spring 注解学习手札(超好的springmvc注解教程)
- 手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis
- Spring、SpringMVC和Springboot的区别(网摘)
- springMVC项目,application.xml springmvc-servlet.xml
- springmvc配置文件的主要内容
- SpringBoot中访问SpringMVC控制器
- SpringBoot搭建SpringMVC项目
- SpringBoot升级到2.0后默认时间格式变化_springboot接收date类型参数
- springmvc事务回滚失效
- springmvc 之 SpringMVC视图解析器
- springMVC之拦截器
- springmvc如何访问静态文件,例如jpg,js,css
- MVC 和web MVC ,SpringMVC和Spring web MVC的关系与区别?
- SpringBoot搭建SpringMVC项目
- @ResponseBody 转化成json后与实体类字段名不一致_SpringMVC字符串解析成json对象(@RequestBody注解和@ResponseBody注解)
- springboot使用jxls导出excel___(万能通用模板)--- SpringBoot导入、导出Excel文件___SpringBoot整合EasyExcel模板导出Excel