Springboot 扩展SpringMVC

开始写项目前,我还需要搞清楚Springboot对我们的spring MVC还做了哪些配置,包括如何扩展,如何自定义。

我们把这个搞清楚,对以后上手项目才能够得心应手。
下面我们通过看源码以及看官方文档来分析一下。

官方网站 直接点进去定位到Springmvc自动配置这一块

在这里插入图片描述

我们在ssm项目扩展springmvc的时候,需要在springmvc.xml配置文件中配置视图解析器和拦截器已达到扩展的目的,而在springboot中自定义配置类来实现springmvc的扩展功能,上面是Springboot帮助我们自动配置好的一些功能。
但是有些场景不适合用springboot中内置的mvc的配置,因此需要我们在springboot中自定义配置类来实现springmvc的扩展功能。

SpringBoot在自动配置很多组件的时候,先看容器中有没有用户自己配置的(如果用户自己配置@bean),如果有就用用户配置的,如果没有就用自动配置的;
根据java8的特性,接口不需要实现类重写接口中的全部方法。因此我们只需实现WebMvcConfigurer接口,加上@Configuration注解。实现指定方法,完善内容即可。
在这里插入图片描述
但是官方文件也明确指明不能加上@EnableWebMvc注解
为什么呢?
我们点进去EnableWebMvc注解,发现引入了一个DelegatingWebMvcConfiguration类
在这里插入图片描述
我继续点进去,发现他继承了WebMvcConfigurationSupport类,也就是说他属于WebMvcConfigurationSupport这个类。
在这里插入图片描述
那么下面我们打开WebMvcAutoConfiguration这个类,看到上面有一个注解@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
说明只有引入这个类就自动配置就失效了。
在这里插入图片描述
所以,当加入这个注解的时候就全面接管springmvc了,所有配置都需要自己来配置了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿研究僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值