spring-boot中的WebMvcConfigurerAdapter类提供了很多自定义操作的方法,先贴出来大家看看

  1. package org.springframework.web.servlet.config.annotation;
  2.  
  3. import java.util.List;
  4. import org.springframework.format.FormatterRegistry;
  5. import org.springframework.http.converter.HttpMessageConverter;
  6. import org.springframework.validation.MessageCodesResolver;
  7. import org.springframework.validation.Validator;
  8. import org.springframework.web.method.support.HandlerMethodArgumentResolver;
  9. import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
  10. import org.springframework.web.servlet.HandlerExceptionResolver;
  11.  
  12. public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {
  13. public WebMvcConfigurerAdapter() {
  14. }
  15.  
  16. public void configurePathMatch(PathMatchConfigurer configurer) {
  17. }
  18.  
  19. public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
  20. }
  21.  
  22. public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
  23. }
  24.  
  25. public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
  26. }
  27.  
  28. public void addFormatters(FormatterRegistry registry) {
  29. }
  30.  
  31. public void addInterceptors(InterceptorRegistry registry) {
  32. }
  33.  
  34. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  35. }
  36.  
  37. public void addCorsMappings(CorsRegistry registry) {
  38. }
  39.  
  40. public void addViewControllers(ViewControllerRegistry registry) {
  41. }
  42.  
  43. public void configureViewResolvers(ViewResolverRegistry registry) {
  44. }
  45.  
  46. public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
  47. }
  48.  
  49. public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) {
  50. }
  51.  
  52. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  53. }
  54.  
  55. public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
  56. }
  57.  
  58. public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {
  59. }
  60.  
  61. public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {
  62. }
  63.  
  64. public Validator getValidator() {
  65. return null;
  66. }
  67.  
  68. public MessageCodesResolver getMessageCodesResolver() {
  69. return null;
  70. }
  71. }

如上代码的实现都是空的,也就是说我们想要完成自定义一些操作,只需要重写这个类中对应的方法,就可以实现

比如昨晚写了篇自定义springboot的消息转换器,其中的一种实现就是通过重写这个类的方法

下边贴一下重写addInterceptors从而实现自定义拦截器的demo

  1. package com.itcast.springboot;
  2.  
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.servlet.HandlerInterceptor;
  5. import org.springframework.web.servlet.ModelAndView;
  6. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  7. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  8.  
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11.  
  12. /**
  13. * @Author : Hellxz
  14. * @Description:自定义拦截器
  15. * @Date : 2018/4/8 12:36
  16. */
  17. @Configuration
  18. public class MyInterceptor extends WebMvcConfigurerAdapter {
  19. /**
  20. * @Author: Hellxz
  21. * @Description: 添加自定义拦截器
  22. * @Date: 2018/4/8 12:39
  23. */
  24. @Override
  25. public void addInterceptors(InterceptorRegistry registry) {
  26. /**
  27. * 自定义handlerInterceptor,匿名内部类,也可以单独提出来一个类
  28. */
  29. HandlerInterceptor handlerInterceptor = new HandlerInterceptor() {
  30. @Override
  31. public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
  32. System.out.println("—————进入拦截器");
  33. return true;
  34. }
  35.  
  36. @Override
  37. public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
  38. }
  39.  
  40. @Override
  41. public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
  42. }
  43. };
  44. //将这个handler添加到签名认证拦截器中
  45. registry.addInterceptor(handlerInterceptor);
  46. // 添加拦截uri
  47. // registry.addInterceptor(handlerInterceptor).addPathPatterns("/user/**");
  48. super.addInterceptors(registry);
  49. }
  50.  
  51. }

spring-boot添加自定义拦截器的更多相关文章

  1. Spring Boot配置拦截器及实现跨域访问

    拦截器功能强大,能够深入方法前后,常应用于日志记录.权限检查和性能检测等,几乎是项目中不可或缺的一部分,本文就来实现Spring Boot自定义拦截器的配置. 理论指导 问:Spring Boot怎么 ...

  2. spring boot 使用拦截器,注解 实现 权限过滤

    http://www.cnblogs.com/zhangXingSheng/p/7744997.html spring boot 使用拦截器 实现 用户登录拦截 http://www.cnblogs. ...

  3. spring boot 添加拦截器的简单实例(springBoot 2.x版本,添加拦截器,静态资源不可访问解决方法)

    spring中拦截器主要分两种,一个是HandlerInterceptor,一个是MethodInterceptor 一.HandlerInterceptor HandlerInterceptor是s ...

  4. Spring Boot整合拦截器

    过滤器和监听器都属于Servlet 的api,还可以使用 Spring 提供的拦截器(HandlerInterceptor)进行改更精细的控制.

  5. spring boot 添加拦截器

    构建一个spring boot项目. 添加拦截器需要添加一个configuration @Configuration @ComponentScan(basePackageClasses = Appli ...

  6. 【第四十章】Spring Boot 自定义拦截器

    1.首先编写拦截器代码 package com.sarnath.interceptor; import javax.servlet.http.HttpServletRequest; import ja ...

  7. spring boot的拦截器简单使用

    1.spring boot拦截器默认有: HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationIntercept ...

  8. Spring Boot之拦截器与过滤器(完整版)

    作者:liuxiaopeng 链接:http://www.cnblogs.com/paddix 作者:蓝精灵lx原文:https://blog.csdn.net/liuxiao723846/artic ...

  9. Spring Boot (20) 拦截器

    动态资源和静态资源 拦截器可以算是aop的一种实现,专门拦截对动态资源的后台请求,也就是拦截对控制层的请求,主要用于判断用户是否有权限请求后台.拦截器不会拦截静态资源,如spring boot默认静态 ...

  10. Spring boot自定义拦截器和拦截器重定向配置简单介绍

    大家好: 本文简单介绍一下用于权限控制的Spring boot拦截器配置,拦截器重定向问题. 开发工具:jdk1.8   idea2017(付费版,网上找的破解教程) 1,首先使用idea创建一个Sp ...

随机推荐

  1. 使用JProfiler做性能分析过程

    供自己记录一下,也分享给大家使用JProfiler的过程(感谢教我使用这个工具的大佬),整个博客比较粗糙,希望对大家有帮助 1.首先安装好JProfiler,打开eclipse,右键你所要分析的项目, ...

  2. Good Time 冲刺 六

    一.今日完成任务情况 第六天 日期:2018.6.19 王怡镔:今天完善了页面,对部分不足进行改进. 于鑫宇:对界面进行完善. 胡雅馨:今天完成前端页面,并改善后端,完善项目. 黄 鹤:做完最后的打卡 ...

  3. 前端基础(http协议相关篇)

    网络协议篇: 1.http请求过程 DNS解析——tcp三次握手——建立tcp连接后发起http请求——服务器响应http请求 ——浏览器得到资源——浏览器渲染 2.http报文 通用首部:可以出现在 ...

  4. 安装mysql后遇到的一些问题

    我们安装好了mysql(cnetos7上是安装mariadb)后,出现如下图所示的问题,我们可以用netstat -lntup查看以下服务器的端口,mysql的端口一般默认为 3306,查看服务是否启 ...

  5. java实现hash一致性算法

    import org.apache.commons.lang3.RandomUtils; import org.apache.commons.lang3.StringUtils; import jav ...

  6. (转)关于ES6的 模块功能 Module 中export import的用法和注意之处

    关于ES6的 模块功能 Module 中export import的用法和注意之处 export default 的用法 export default命令用于指定模块的默认输出.显然,一个模块只能有一 ...

  7. vue开发 ES5——> ES6设置

  8. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)

    莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...

  9. Redis(一) 安装

    选择在Linux下安装redis,现在采用虚拟机安装的centos7 进行安装的 1.安装gcc yum install gcc-c++ 2.下载redis安装包,在root目录下执行 wget ht ...

  10. js & listen mouse click

    js & listen mouse click how to listen mouse click in js https://www.kirupa.com/html5/mouse_event ...