Spring的AOP常见错误(2)

产生该错误的原因是我们在使用AfterReturning注解的时候,没有定义返回的参数,但是拦截的方法中缺需要传入一个参数,比如下面的“_result”参数。如果AfterReturing注解拦截的方法需要接收参数,需要在AfterReturning中声明。

错误的代码

@AfterReturning("execution (* com.trs.components.mgr.StudentMgr.update(..))")

public void writeAge(Object _result) {

        System.out.println("result::" + _result);

        System.out.println("我是另外一个切面,年龄::" + 23);

    }

 

正确的代码(注意下面的红色字体,申明了一个返回名为“_result”的变量):

@AfterReturning(pointcut = "execution (* com.trs.components.mgr.StudentMgr.update*(..))", returning = "_result")

    public void writeAge(Object _result) {

        System.out.println("result::" + _result);

        System.out.println("我是另外一个切面,年龄::" + 23);

    }

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjgwx.html