概述
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的配置springboot扩展springmvc所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复