一、关于thymeleaf
由于springboot采用jar的打包方式,且采用嵌入式Tomcat服务器,因此不支持JSP模板引擎,springboot默认的是thymeleaf模板引擎。
springboot自动配置类也包括了对thymeleaf的自动配置
二、SpringMVC的定制化
SpringMVC的诸多组件都被springboot在启动时自动配置,比如:
Converter:转换器: public String hello(User user):类型转换使用Converter
Formatter 格式化器: 2017.12.17===Date;
HttpMessageConverter:SpringMVC用来转换Http请求和响应的;User—Json;
MessageCodesResolver (see below):定义错误代码生成规则
定制方法:在容器中添加一个定制的组件,利用@component或@bean将组件封装成bean装配进容器,sprngboot会使用所有的MVC组件
三、定制示例
定制类必须继承抽象类WebMvcConfigAdapter,实现特定的方法,示例是实现MVC控制的请求-页面跳转。
四、@EnableMvc
@EnableMvc表示由定制类完全替换默认的springMVC配置,一旦开启,springboot的所有配置都会失效
源码如下:
(1)
@EnableMvc
WebMvcConfigurationSupport样式的bean在这里已经注册
(2)
**springboot自动配置MVC的条件是WebMvcConfigurationSupport样式的bean不存在
发生冲突,所以springboot默认的配置全部失效**