一、定义注解类

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Authority {String[] value() default {""}
}

二、定义控制器

@Controller
public class UserController {@GetMapping("/test")@Authority("")public String welcome() {return "welcome";}
}

三、定义自定义拦截器

public class MyFirstInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {HandlerMethod handlerMethod = (HandlerMethod)handler;Authority authority = handlerMethod.getMethod().getAnnotation(Authority.class);if(authority != null) {System.out.println(authority.value());System.out.println("处理器方法执行之前调用 → preHandle");return true;}return false;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {//System.out.println("处理器方法执行之后调用 → postHandle");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {// System.out.println("页面显示完毕之后调用 → afterCompletion");}
}

四、配置拦截器

@Configuration
public class MyConfig implements WebMvcConfigurer {@Beanpublic MyFirstInterceptor myFirstInterceptor() {new MyFirstInterceptor();}@Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册TestInterceptor拦截器InterceptorRegistration registration = registry.addInterceptor(new MyFirstInterceptor());/* 所有路径都被拦截 */// registration.addPathPatterns("/**");
}

Spring拦截器(实现自定义注解)相关推荐

  1. SpringBoot+拦截器+自定义异常+自定义注解+全局异常处理简单实现接口权限管理...

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_44102992/article/ details/107335702 前言 提到权限管理这块肯定很多人第一想到的 ...

  2. Spring拦截器的实现以及通过注解实现拦截

    五 本篇是本人记录对于Spring的拦截器简单的使用记录,以及通过自定义注解的方式实现其拦截目的 首先看一下简单的实现 第一步:定义一个测试类,用于向后台发送请求 @RestController pu ...

  3. Spring拦截器实现登录拦截

    hello,大家好,好久没发文章了,之前一段时间因为没遇到太好的内容.昨天研究了下登录时Spring拦截器实现功能,今天和大家分享下,有问题的话欢迎大家指出与批评,好,下面进入正题.    说起拦截器 ...

  4. Java(Spring拦截器、过滤器、AOP)

    过滤器: 过滤器是servlet提供的API,需要实现javax.servlet.Filter接口.过滤器可以拦截到方法的请求和响应(ServletRequest request, SetvletRe ...

  5. Spring拦截器校验Json格式参数

    Json已经成为一种主流的数据传输格式,请求参数是整个RequestBody. 那么,拦截器中如何获取Json呢? 办法是:通过request.getInputStream. RequestBody是 ...

  6. 「深入源码」Spring拦截器的实现原理和执行机制

    我一直以为Spring的拦截器是基于AOP原理实现的,仔细阅读完源码,才知道自己的认知是错误的. 今天我们就从源码的角度剖析下Spring拦截器. 一.创建一个自己的拦截器 实现一个自己的拦截器,需要 ...

  7. spring拦截器不生效

    在平时休闲时间做一个学习型项目练手,在练习过程中,遇到一个spring拦截器不生效的问题,拦截器代码如下: @Aspect // 该注解标示该类为切面类 @Component public class ...

  8. WebServices中使用cxf开发日志拦截器以及自定义拦截器

    首先下载一个cxf实例,里面包含cxf的jar包.我下的是apache-cxf-2.5.9 1.为什么要设置拦截器? 为了在webservice请求过程中,能动态操作请求和响应数据, CXF设计了拦截 ...

  9. 使用struts2中默认的拦截器以及自定义拦截器

    转自:http://blog.sina.com.cn/s/blog_82f01d350101echs.html 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Acti ...

  10. flume拦截器及自定义拦截器

    拦截器做什么呢? 时间拦截器 以时间拦截器为例.会在Event的header中添加一个属性进去,属性的key叫做timestamp, value是当前的毫秒值. 问题是写到header然后呢?有啥用呢 ...

最新文章

  1. -bash: /bin/rm: Argument list too long的解决办法
  2. 推荐:一款Java开源的Springboot 即时通讯 IM 聊天系统
  3. Tensorflow— 下载google图像识别网络inception-v3并查看结构
  4. Linux学习之Vi编辑器常用命令
  5. Js中的数据属性和访问器属性
  6. 人工智能化发展已经到了哪一步?
  7. SpringCloud Stream消息驱动
  8. 嵌入式linux添加环境变量,Linux环境变量
  9. linux mint 19新功能,Linux Mint 19.3将在2019年12月正式发布,附新功能简介
  10. js 延迟几秒执行_息息相关的 JS 同步,异步和事件轮询
  11. java 隐式构造,java隐式创建的对象
  12. 在线JSON校验格式化工具,文本对比工具,截图notepad工具
  13. 多电压等级计算机潮流计算,电力系统潮流计算
  14. 一只潜力十足的专业电竞游戏鼠标——HyperX巨浪RGB电竞鼠标
  15. 暴力破解wifi密码尝试
  16. python统计人物出现次数_python实例:利用jieba库,分析统计金庸名著《倚天屠龙记》中人物名出现次数并排序...
  17. Linux没有桌面怎么装微信,linux安装微信
  18. 人机交互-11-往年试卷
  19. 北理工计算机组成原理在线作业,北理工19秋《计算机组成原理》在线作业(满分)...
  20. CSS3霓虹灯文字特效

热门文章

  1. Henry手记—Web Form中的Datagrid的自定义分页
  2. 装机——电脑硬件科普
  3. oracle nvarchar2问题,oracle中nvarchar2查询结果显示总是少一位
  4. 【转】我的WIN7分辨率是1920*1080,调低后字体模糊
  5. 纵断面 java_判断(4分) 断面图只要画出断面的图形,不用管断面分不分离。( )...
  6. xtrabackup命令用法实战
  7. 如何禁用linux防火墙,linux防火墙如何禁用
  8. 小米手机的性价比真的那么高吗?
  9. 极客头条常见问题解答 FAQ
  10. oppo手机何时上鸿蒙,鸿蒙正式发布进入倒计时!华为正式发出邀请,OPPO之后小米也婉拒...