spring aop 利用JoinPoint获取参数的值和方法名称
来源:互联网 发布:中国电视剧 国外 知乎 编辑:程序博客网 时间:2024/06/05 06:08
AspectJ使用org.aspectj.lang.JoinPoint接口表示目标类连接点对象,如果是环绕增强时,使用org.aspectj.lang.ProceedingJoinPoint表示连接点对象,该类是JoinPoint的子接口。任何一个增强方法都可以通过将第一个入参声明为JoinPoint访问到连接点上下文的信息。我们先来了解一下这两个接口的主要方法:
1)JoinPoint
java.lang.Object[] getArgs():获取连接点方法运行时的入参列表;
Signature getSignature() :获取连接点的方法签名对象;
java.lang.Object getTarget() :获取连接点所在的目标对象;
java.lang.Object getThis() :获取代理对象本身;
2)ProceedingJoinPoint
ProceedingJoinPoint继承JoinPoint子接口,它新增了两个用于执行连接点方法的方法:
java.lang.Object proceed() throws java.lang.Throwable:通过反射执行目标对象的连接点处的方法;
1)JoinPoint
java.lang.Object[] getArgs():获取连接点方法运行时的入参列表;
Signature getSignature() :获取连接点的方法签名对象;
java.lang.Object getTarget() :获取连接点所在的目标对象;
java.lang.Object getThis() :获取代理对象本身;
2)ProceedingJoinPoint
ProceedingJoinPoint继承JoinPoint子接口,它新增了两个用于执行连接点方法的方法:
java.lang.Object proceed() throws java.lang.Throwable:通过反射执行目标对象的连接点处的方法;
java.lang.Object proceed(java.lang.Object[] args) throws java.lang.Throwable:通过反射执行目标对象连接点处的方法,不过使用新的入参替换原来的入参。
一、概述
AOP的实现方法在上两篇博客中已经用了两种方法来实现现在的问题来了虽然我们利用AOP,那么客户端如何信息传递?利用JoinPoint接口来实现客户端给具体实现类的传递参数。
二、代码演示。
目录结构:
SecurityHandler.java
Client.java
UserManager.java
UserManagerImpl.java
applicationContext.xml
效果图:
三、总结。
我们可以通过Advice中添加一个JoinPoint参数,这个值会由spring自动传入,从JoinPoint中可以取得。
0 0
- spring aop 利用JoinPoint获取参数的值和方法名称
- 菜鸟学习Spring——60s利用JoinPoint获取参数的值和方法名称
- 菜鸟学习Spring——60s利用JoinPoint(连接点)获取参数的值和方法名称()
- JoinPoint获取参数的方法和名称(1)
- spring Aop 配置文件方式+JoinPoint获取参数
- spring Aop 配置文件方式+JoinPoint获取参数
- Spring LocalVariableTableParameterNameDiscoverer 获取方法的参数名称
- spring中用joinpoint来访问目标方法的参数
- spring中用joinpoint来访问目标方法的参数
- spring aop JoinPoint 用法
- Spring boot 通过AOP获取参数名称及参数值并对参数进行校验
- Spring之运行时获取controller参数名称的方法
- Spring 中 java 获取方法参数名称
- springboot 中使用 AOP 打印 类名、方法名、方法参数名称和方法参数值
- Spring AOP中JoinPoint的表达式定义描述
- Spring的AOP获得方法的名字和参数
- 利用AOP获取自定义标签的参数以及方法的参数
- spring中JoinPoint参数介绍
- jqGrid初始化自带选中
- Joda 日期类简单的获取当前完整日期和当前日子的用法
- [CSS3] 新增属性用法整理
- 第三章 数据和C(二)
- 什么是防火墙的入站规则和出站规则.如何新建入站规则
- spring aop 利用JoinPoint获取参数的值和方法名称
- tomcat启动很慢的问题
- (转载)Shell脚本中$0、$?、$!等的意义
- (LeetCode)Valid Sudoku --- 合法数独
- Ansible用户模块及权限验证
- volley jar下载
- 软件测试的艺术的读书笔记
- HOG/svm Step by Step
- 计算机网络总结