SpringBoot的SpringMVC自动配置
一、官方文档
二、Spring MVC auto-configuration
Spring Boot为Spring MVC提供了大多数场景下的自动配置,以下是Spring Boot对Spring MVC的默认配置:
- 包含了
ContentNegotiatingViewResolver
andBeanNameViewResolver
beans.- 自动配置了ViewResolver(视图解析器),根据方法的返回值得到视图对象(View),视图对象决定如何渲染,转发还是重定向
ContentNegotiatingViewResolver
作用:组合所有的视图解析器的;- 如需定制视图解析器,可以自己给容器中添加一个视图解析器,SpringBoot将自动把它组合进来。
- 支持为静态资源提供服务,包括对webjar的支持
- 静态首页访问的支持
- 自定义的Favicon支持
- 自动注册了
Converter
,GenericConverter
,Formatter
beans.Converter
:类型转换器Formatter
:格式化器,如将字符串’2017.12.17’转化为Date类型
- 支持
HttpMessageConverters
HttpMessageConverters
:SpringMvc用来转换http请求和响应的转换器- HttpMessageConverters 是从容器中获取所有的HttpMessageConverter,如果
- 如需定制HttpMessageConverter,可以自己给容器中添加HttpMessageConverter,只需要将自己的组件注册到容器中(@Bean,@Component)
MessageCodesResolver
的自动注册:用于定义错误代码的生成规则
三、扩展SpringMVC
如果发送的请求不想通过controller,只想直接地跳转到目标页面,这时候就可以使用mvc:view-controller
标签;
如果想通过定义URL来进行路径请求拦截,可以做到较为细粒度的拦截控制,这时候就可以使用mvc:interceptors
标签:
<mvc:view-controller path="/hello" view-name