SpringBoot⑥SpringMVC自动配置
7、SpringMVC自动配置
Spring Boot 为 Spring MVC 提供了自动配置,在 Spring 的默认基础上添加了以下功能:
- 视图解析器:包含
ContentNegotiatingViewResolver
和BeanNameViewResolver
; - 静态资源:支持提供静态资源,包括 WebJars;
- 自动注册
Converter
、GenericConverter
和Formatter
:Converter
:前台提交对象的字段,后台会自动封装转换成对象;Formatter
:转换日期格式;
- 支持
HttpMessageConverters
; - 自动注册
MessageCodesResolver
; - 静态
index.html
支持; - 自动使用
ConfigurableWebBindingInitializer
。
自定义 SpringMVC
目的(想达到什么) | 自定义(创建一个什么样的类) |
---|---|
保留 SpringMVC 定制,并进行更多 MVC 定制 (如拦截器、格式化程序、视图控制器和其他功能) |
实现WebMvcConfigurer 接口的@Configuration 类(但不添加注解 @EnableWebMvc ) |
保留 Spring MVC 定制,提供RequestMappingHandlerMapping 、RequestMappingHandlerAdapter 或ExceptionHandlerExceptionResolver 的定制实例 |
实现WebMvcRegistrations 接口的 bean,并用它来提供这些组件的定制实例 |
完全接管 Spring MVC | ①@EnableWebMvc 注解的@Configuration 类② DelegatingWebMvcConfiguration 注解的@Configuration |