Aop 编程中joinpoint中参数列表
来源:互联网 发布:cad软件下载什么版本 编辑:程序博客网 时间:2024/06/05 14:15
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:通过反射执行目标对象连接点处的方法,不过使用新的入参替换原来的入参。
最近在写日志时, 通过joinpoint的getArgs()获取参数时,发现获取的参数是一个Object[] ,想取到其中某一项的值比较麻烦。例如前端传过来的值
{
"userid":"2",
"username":"小明",
"age":"23",
"sex":"男",
}
我只想取到userid,可以先将将数组里的对象先取出,然后转换为json格式,再获取值。
Object[] args = joinPoint.getArgs();//获取参数 if (args != null) { Object object = args[0]; JSONObject jsonObject = (JSONObject) JSON.toJSON(object); String userid= (String) jsonObject.get("userid"); System.out.println(userid);}
阅读全文
0 0
- Aop 编程中joinpoint中参数列表
- aop 中joinpoint的使用方法
- spring中JoinPoint参数介绍
- spring aop 中 org.aspectj.lang.JoinPoint-中文简要API
- Spring AOP中JoinPoint的表达式定义描述
- spring Aop 配置文件方式+JoinPoint获取参数
- spring Aop 配置文件方式+JoinPoint获取参数
- AOP编程中注解参数详解
- AOP编程中注解参数详解
- spring aop 3 Spring AOP中JoinPoint的表达式定义描述
- spring中JoinPoint的使用
- spring中AOP编程
- Aop Joinpoint语法
- spring aop JoinPoint 用法
- SpringAop中JoinPoint对象的使用方法
- spring aop 利用JoinPoint获取参数的值和方法名称
- Java 5中面向方面(AOP)编程
- Spring 2.0中 AOP的编程
- Echarts更改仪表盘显示属性
- linux中服务的开启于关闭
- [ZJOI2006]物流运输trans
- Java排序算法之希尔排序
- android jniLibs下so库详解
- Aop 编程中joinpoint中参数列表
- failed to lazily initialize a collection of role: cn.qcc.bos.domain.take_delivery.Order.workBills,
- BZOJ 1096 [ZJOI2007]仓库建设
- 2017"百度之星"程序设计大赛
- 专治Java集合面试回答以及观察者模式解读
- MYSQL之Innodb锁
- JS运动框架及举例
- JAVA 判断当前日期的星期
- WPF获得PNG图片外观Path数据