Spring Boot WebMvcConfigurerAdapter 实现拦截器无配置
来源:互联网 发布:cmd获取软件版本号 编辑:程序博客网 时间:2024/06/08 10:28
SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter,该类可以省去我们之前的拦截XML配置文件,减少了对于XML文件的管理,这也是springBoot无配置的思想。
Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。
首先创建对应的拦截器 这里我创建class AppAccessInterceptor.并且extends HandlerInterceptorAdapter
里面实现我自己的拦截器功能,
/** * * @ClassName: AppAccessInterceptor * @Description: APP请求拦截 * @author peng.xu * @date 2017年10月16日 下午2:10:10 * */@Slf4jpublic class AppAccessInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod handlerMethod = (HandlerMethod) handler; Method method = handlerMethod.getMethod(); RequestAuth auth = method.getAnnotation(RequestAuth.class); if(auth != null){ log.info("===========preHandle【拦截器拦截请求:{},参数:{}】==========", request.getRequestURL(), request.getQueryString()); Map<String, String[]> map = request.getParameterMap(); log.info("preHandle 拦截器进行拦截-request信息:{}", JSONObject.toJSON(map)); return false; } return true; }}
RequestAuth 是一个我自己的注解,这样在需要加拦截的方法上 @RequestAuth 就表示要走拦截器。
具体代码
/** * * @ClassName: RequestAuth * @Description: 请求拦截* @author peng.xu* @date 2017年10月16日 下午3:25:19 * */@Documented@Inherited@Target({ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface RequestAuth { boolean validate() default true;}
然后创建对应的配置类,之前的配置文件就在这里被替换了。我起名为InterceptorsWebMvcConfig 并且 extends WebMvcConfigurerAdapter,然后我们重写它的addInterceptors 方法即可。
具体代码:
<mvc:interceptors><mvc:interceptor><!-- 拦截所有请求 --><mvc:mapping path="/gw/**/*" /><!-- spu商品放行 --><mvc:exclude-mapping path="/gw/spu/*" />
这样即可实现了 XML中代码
所以XML 我们就不在需要。
我们想自定义静态资源映射目录的话,只需重写addResourceHandlers方法即可。
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); }
阅读全文
0 0
- Spring Boot WebMvcConfigurerAdapter 实现拦截器无配置
- spring boot 拦截器之WebMvcConfigurerAdapter
- Spring Boot拦截器(WebMvcConfigurerAdapter)
- spring mvc的拦截器WebMvcConfigurerAdapter
- Spring Boot自定义MVC配置——WebMvcConfigurerAdapter
- Spring boot配置拦截器
- Spring Boot配置拦截器
- Spring Boot配置拦截器
- Spring Boot拦截器配置
- Spring boot配置拦截器(十四)
- Spring boot之拦截器的实现
- Spring Boot 拦截器
- Spring Boot 拦截器
- Spring Boot 拦截器
- Spring Boot 拦截器
- Spring Boot 拦截器
- Spring Boot 拦截器
- Spring-Boot拦截器
- ROS 使用sick tim561 雷达
- 验证计算和网络服务
- Python开根号
- numpy函数之numpy.ravel
- oKHttp基本封装
- Spring Boot WebMvcConfigurerAdapter 实现拦截器无配置
- Mybatis 打印SQL
- Linux修改/etc/profile文件导致进卡在登陆界面
- 2.2.QObject类功能说明和使用技巧
- OpenMP 参考(指令详解)
- Seetaface 03 Seetaface python版 win10 vs2015编译
- nginx错误反馈处理
- 对文件操作
- 【Nim游戏】hihoCoder#1172[博弈游戏·Nim游戏·二]题解