javascript
SpringAOP aspectJ ProceedingJoinPoint 获取当前方法
aspectJ切面通過ProceedingJoinPoint想要獲取當(dāng)前執(zhí)行的方法:
錯(cuò)誤方法:
?
? ?? Signature s = pjp.getSignature();
? ??MethodSignature ms = (MethodSignature)s;
? ??Method m = ms.getMethod();
這種方式獲取到的方法是接口的方法而不是具體的實(shí)現(xiàn)類的方法,因此是錯(cuò)誤的。
?
正確方法:
? ? ? ? Signature sig = pjp.getSignature();
? ? ? ? MethodSignature msig = null;
? ? ? ? if (!(sig instanceof MethodSignature)) {
? ? ? ? ? ? throw new IllegalArgumentException("該注解只能用于方法");
? ? ? ? }
? ? ? ? msig = (MethodSignature) sig;
? ? ? ? Object target = pjp.getTarget();
? ? ? ? Method currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes());
?
Spring 之AOP AspectJ切入點(diǎn)語法詳解
https://blog.csdn.net/zhengchao1991/article/details/53391244
使用AspectJ編程
https://blog.csdn.net/zl3450341/article/details/7673938
轉(zhuǎn)載于:https://www.cnblogs.com/leilong/p/9043372.html
總結(jié)
以上是生活随笔為你收集整理的SpringAOP aspectJ ProceedingJoinPoint 获取当前方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【python数字信号处理】——Z变换
- 下一篇: 【python数字信号处理】——线性卷积