芯片商城网站建设,做情诗网站,企业为什么要分析环境,前端登陆页面设计模板springboot为SpringMVC配置了自动配置#xff0c;以下是SpringBoot对SpringMVC的默认配置
org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration
自动配置在Spring的默认配置之上添加了以下功能
包含ContentNegotiatingViewResolver和BeanNameView…springboot为SpringMVC配置了自动配置以下是SpringBoot对SpringMVC的默认配置
org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration
自动配置在Spring的默认配置之上添加了以下功能
包含ContentNegotiatingViewResolver和BeanNameViewResolver。-- 视图解析器支持服务静态资源包括对WebJars的支持官方文档中有介绍。-- 静态资源文件夹路径自动注册ConverterGenericConverter和Formatterbeans。-- 转换器格式化器支持HttpMessageConverters官方文档中有介绍。-- SpringMVC用来转换Http请求和响应的自动注册MessageCodesResolver官方文档中有介绍。-- 定义错误代码生成规则静态index.html支持。-- 静态首页访问定制Favicon.ioc支持官方文档中有介绍。-- 网站图标自动使用ConfigurableWebBindingInitializerbean官方文档中有介绍。
如果您想保留 Spring Boot MVC 的功能并且需要添加其他 MVC 配置拦截器格式化程序和视图控制器等可以添加自己的 WebMvcConfigurer 类型的 Configuration 类但不能带 EnableWebMvc 注解。如果您想自定义 RequestMappingHandlerMapping、RequestMappingHandlerAdapter 或者 ExceptionHandlerExceptionResolver 实例可以声明一个 WebMvcRegistrationsAdapter 实例来提供这些组件。如果您想完全掌控 Spring MVC可以添加自定义注解了 EnableWebMvc 的 Configuration 配置类。
视图解析器
视图解析器根据方法的返回值得到视图对象View视图对象决定如何渲染转发重定向
自动配置了ViewResolverContentNegotiatingViewResolver组合所有的视图解析器的
转换器/格式化器
Converter转换器 public String hello(User user)类型转换使用Converter表单数据转为userFormatter 格式化器 2017.12.17DateBean//在配置文件中配置日期格式化的规则ConditionalOnProperty(prefix spring.mvc, name date-format)public FormatterDate dateFormatter() {return new DateFormatter(this.mvcProperties.getDateFormat());//日期格式化组件}
自己添加的格式化器转换器我们只需要放在容器中即可
HttpMessageConverters
HttpMessageConverterSpringMVC用来转换Http请求和响应的User---JsonHttpMessageConverters 是从容器中确定获取所有的HttpMessageConverter 自己给容器中添加HttpMessageConverter只需要将自己的组件注册容器中Bean,Component
MessageCodesResolver
我们可以配置一个ConfigurableWebBindingInitializer来替换默认的添加到容器
扩展SpringMVC
先前的配置文件的配置 mvc:view-controller path/hello view-namesuccess/ 使用配置类Configuration是WebMvcConfigurer类型不能标注EnableWebMvc Configuration
public class MyMvcConfig implements WebMvcConfigurer {Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController(/hi).setViewName(success);}
}
如何修改SpringBoot的默认配置
SpringBoot在自动配置很多组件的时候先看容器中有没有用户自己配置的Bean、Component如果有就用户配置的如果没有才自动配置如果有些组件可以有多个ViewResolver将用户配置的和自己默认的组合起来
在SpringBoot中会有非常多的xxxConfigurer帮助我们进行扩展配置在SpringBoot中会有很多的xxxCustomizer帮助我们进行定制配置