****Spring MVC自动配置****
Spring Boot为Spring MVC提供了自动配置,可与大多数应用程序完美配合。
自动配置在Spring的默认值之上添加了以下功能:
包含ContentNegotiatingViewResolver和BeanNameViewResolver。
–ContentNegotiatingViewResolve(自动注册了视图解析器,初始化视图解析器,取最优)
支持提供静态资源,包括对WebJars的支持。
自动注册Converter,GenericConverter和Formatter bean类。
–Converter是文本自动转换器
–Formatter格式化器
支持HttpMessageConverters。
–消息转换器 spingMVC用来转换http请求和相应的;
–HttpMessageConverters的值都是从容器中获得的;
自定义的时候, 自己往容器中添加HttpMessageConverters,只需要将自己的组件注册在容器中(@bean,@compment)
自动注册MessageCodesResolver。
静态index.html支持。
自动使用ConfigurableWebBindingInitializerbean。
错误代码生成规则
如果要保留这些Spring Boot MVC定制并进行更多的MVC定制(拦截器,格式化程序,视图控制器和其他功能),则可以添加自己@Configuration的type类,WebMvcConfigurer但不添加 @EnableWebMvc。
如果你想提供的定制情况RequestMappingHandlerMapping,RequestMappingHandlerAdapter或者ExceptionHandlerExceptionResolver,仍然保持引导MVC自定义,你可以声明类型的WebMvcRegistrations,并用它来提供这些组件的定制实例。
如果要保留这些Spring Boot MVC定制并进行更多的MVC定制(拦截器,格式化程序,视图控制器和其他功能),则可以添加自己@Configuration的type类,WebMvcConfigurer但不添加 @EnableWebMvc
如果你想利用Spring MVC中的完全控制,你可以添加自己的@Configuration注解为@EnableWebMvc,或者添加自己的@Configuration-annotatedDelegatingWebMvcConfiguration中的Javadoc中所述@EnableWebMvc。。
详情参见:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-developing-web-applications