配置mvc相关参数的类
常用的 也就是如下三种方法 如果需要使用spring boot 中默认实现 请选则第三种方式 避免覆盖spring boot 实现
- @EnableWebMvc+extends WebMvcConfigurationAdapter,在扩展的类中重写父类的方法即可,这种方式会屏蔽springboot的@EnableAutoConfiguration中的设置
- extends WebMvcConfigurationSupport,在扩展的类中重写父类的方法即可,这种方式会屏蔽springboot的@EnableAutoConfiguration中的设置
- extends WebMvcConfigurationAdapter,在扩展的类中重写父类的方法即可,这种方式依旧使用springboot的@EnableAutoConfiguration中的设置
以上资料参考博客:http://www.voidcn.com/article/p-fpvxvkbi-bpb.html
####常用方式实现
1:拦截器实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/** * 统一设定返回包头 * * @author ming * @date 2017-11-06 18:15 */ public class ResponseHandlerInterceptot extends HandlerInterceptorAdapter {
@Override public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //统一设定 返回编码集 response.setCharacterEncoding("UTF-8"); } }
|
2:注册到拦截器链中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
/** * 拦截器配置 * * @author ming * @date 2017-08-28 11点 */ @Configuration public class WebInterceptors extends WebMvcConfigurerAdapter { public WebInterceptors() { super(); }
/** * 添加拦截器 * * @author ming * @date 2017-11-07 10:08 */ @Override public void addInterceptors(InterceptorRegistry registry) { //注册统一处理响应包头拦截器 registry.addInterceptor(new ResponseHandlerInterceptot()); super.addInterceptors(registry); }
/** * 添加允许跨域的请求 * * @author ming * @date 2017-11-10 17:07 */ @Override public void addCorsMappings(CorsRegistry registry) { //允许所有请求跨域 registry.addMapping("/**"); super.addCorsMappings(registry); } }
|
####总结:追求高度自定义 继承 WebMvcConfigurationSupport 如果想偷懒 那就继承 WebMvcConfigurationAdapter 可以拥有spring boot 默认的配置