网站首页 > java教程 正文
Interceptor拦截器,可以拦截ParameterHandler,ResultHandler,StatementHandler,Executor的执行,这个接口定义了2个默认的方法,plugin和setProperties。plugin是获取代理类,setProperties是设置拦截器额外配置的属性。主要的就是intercept方法,这个方法是拦截后执行的方法。如果要实现自己的拦截器需要实现这个接口,并实现intercept方法。参数Invocation是封装的方法调用的信息。
再看下Invocation类,有3个变量,一个是目标对象target,一个方法method,再就是参数args。proceed方法通过反射方法调用目标方法。
上文说过Plugin实现了InvocationHandler接口,现在就看看Plugin的invoke方法,这个方法如果是需要拦截的方法会调用intercepter的intercept方法,此时生成了一个Invocation实例。如果不是拦截的方法,就通过反射调用原来的方法。
哪些类和方法是需要拦截的呢?
那就需要看两个注解,是Intercepts和Signature。这个两个方法配合使用才能产生效果,先看下注解Intercepts,这个注解需要有个Signature数组。
看看Signature需要三个值,一个是Class对象,一个方法名称,最后一个就是方法需要的参数类型。
获取哪些类型和方法需要拦截?首先获取拦截器的注解Intercepts,再获取Intercepts的Signature,从而获取需要拦截的发方法和参数。
一个简单的例子,拦截Executor类,并且拦截Executor中的query方法
猜你喜欢
- 2024-11-04 【快学springboot】12.实现拦截器
- 2024-11-04 Spring Boot 中的拦截器和过滤器到底有什么区别?
- 2024-11-04 SpringBoot中的过滤器和拦截器有什么区别?
- 2024-11-04 为什么你写的拦截器注入不了Java bean?
- 2024-11-04 使用Spring Cloud Zuul实现过滤器或拦截器功能案例
- 2024-11-04 java服务-springboot拦截器实现用户登录Token及权限校验
- 2024-11-04 JAVAEE就业工程师教程之第4章 Struts2拦截器
- 2024-11-04 Spring框架功能分为哪些模块?(spring框架有哪几部分组成)
- 2024-11-04 高级码农Spring Boot实战进阶之过滤器、拦截器的使用
- 2024-11-04 轻量级 Java 权限认证框架Sa-Token初体验(五)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)