摘要
本文介绍了如何拓展SpringMVC,文章内容来源于SpringBoot参考手册。
如何查找文档
1.进入https://spring.io
2.找到SpringBoot模块
3.点击Spring Boot Reference Manual
(SpringBoot参考文档)
4.本文参考地址:https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/
正文
SpringBoot自动配置类集中存放在spring-boot-autoconfigura.jar下,可以找到WebMvcAutoConfiguration
,通过该类SpringBoot为web模块引入了默认的配置。
如何对web模块的配置进行拓展,首先看一下参考文档的说明
If you want to keep Spring Boot MVC features and you want to add additional MVC configuration (interceptors, formatters, view controllers, and other features), you can add your own @Configuration class of type WebMvcConfigurer but without @EnableWebMvc. If you wish to provide custom instances of RequestMappingHandlerMapping, RequestMappingHandlerAdapter, or ExceptionHandlerExceptionResolver, you can declare a WebMvcRegistrationsAdapter instance to provide such components.
If you want to take complete control of Spring MVC, you can add your own @Configuration annotated with @EnableWebMvc.
这段话的意思是:如果你想保持SpringBoot原有特征并添加自己的配置进去,要做下面几件事:
1. 创建一个类,标记@Configuration
2. 类的类型是WebMvcConfigurer
3. 不能标记@EnableWebMvc
若想要完全控制SpringMVC,只需要加入@EnableWebMvc注解
示例代码如下,可以根据自己的实际情况实现接口中的方法,达到新增或修改配置的目的
// @EnableWebMvc 添加后会使SpringBoot提供的默认WEB配置失效
@Configuration
class MyConfig implements WebMvcConfigurer{
}