zoukankan      html  css  js  c++  java
  • SpringAOP aspectJ ProceedingJoinPoint 获取当前方法

      

    aspectJ切面通过ProceedingJoinPoint想要获取当前执行的方法:

    错误方法:

         Signature s = pjp.getSignature();
        MethodSignature ms = (MethodSignature)s;
        Method m = ms.getMethod();

    这种方式获取到的方法是接口的方法而不是具体的实现类的方法,因此是错误的。

    正确方法:

            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切入点语法详解

      https://blog.csdn.net/zhengchao1991/article/details/53391244

    使用AspectJ编程

      https://blog.csdn.net/zl3450341/article/details/7673938

  • 相关阅读:
    链表数据-PHP的实现
    关于go的init函数
    socket小计
    很随笔
    go获取当前项目下所有依赖包
    关于synergy的问题
    二叉树的最大路径和
    大数求和
    重载<<运算符第二个参数必须加上const
    表达式求值
  • 原文地址:https://www.cnblogs.com/leilong/p/9043372.html
Copyright © 2011-2022 走看看