springboot扩展springmvc
springboot扩展springmvc的配置、都知道springboot的核心是自动装配、
如果要在不破坏springboot的springmvc自动装配、配置的情况下、我们可以自己写一个配置类去实现WebMvcConfigurer类
在springboot的自动装配的情况下去扩展springmvc的新功能
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
//视图跳转、
@Override
public void addViewControllers(ViewControllerRegistry registry) {
//浏览器访问location:8080/aa ---> 他会找到名为index的视图名字的html
registry.addViewController("/aa").setViewName("index");
}
}
实现了WebMvcConfigurer 接口就可以在springboot中扩展springmvc的配置、
@EnableWebMvc注解说明
如果你在自定义的springmvc的MyMvcConfig配置类上加上了这个注解@EnableWebMvc 加上了这个注解后springboot对springmvc的自动装配全部失效、
为什么?
我们可以看一下这个@EnableWebMvc注解里面配置了什么
@EnableWebMvc注解中的内容
|
@Import(DelegatingWebMvcConfiguration.class)
这个注解里面导入了一个类
DelegatingWebMvcConfiguration 类的内容
|
public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport
到这可以得出一个结论、说白了这个注解@EnableWebMvc就等于它、
WebMvcConfigurationSupport已经被spring托管了、简单来说就是
WebMvcConfigurationSupport类已经在容器中了。
在看一下WebMvcAutoConfiguration: 自动装配的类
WebMvcAutoConfiguration 类 、这个类就是自动装配配置的类这个了中会自动装配webmvc的全部配置
类中有一个注解
|
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class) : 这个注解是、个人理解的是:在springboot自动装配时spring的容器中没有这个
WebMvcConfigurationSupport类时这个WebMvcAutoConfiguration配置类生效、如
果在程序走到了这个自动装配的类时、发现容器中有这个类、此时这个
WebMvcAutoConfiguration自动装配的类失效。
简单来说就是判断容器中是否有这个类、’有‘、自动装配配置类失效、’没有‘、自动
装配配置类有效

最后得出一个结论、就是加上这个@EnableWebMvc注解它会将这个WebMvcConfigurationSupport类注入到容器中、等程序走到自动装配的类时、发现容器中有这个类、此时WebMvcAutoConfiguration类失效、springboot将不会在自动装配springmvc的配置了、由将加了@EnableWebMvc这这个注解的配置类全权配置
最后
以上就是虚幻方盒最近收集整理的关于springboot扩展springmvc的配置springboot扩展springmvc的全部内容,更多相关springboot扩展springmvc内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复