目标方法
@Override
public String doAfterReturning(String name, int age) {
System.out.println("=== 执行了SomeServiceImpl的doAfterReturning ===");
return "abc";
}
MyAspect(自定义变量名必须和通知方法的形参名一样)
@AfterReturning(value = "execution(String com.shenmegui.service.impl.SomeServiceImpl.doAfterReturning(String,int))",
returning = "res")
public void myAfterReturning(Object res) {
// Object res 是目标方法执行后的返回值,根据返回值做你的切面的功能
System.out.println("=== myAfterReturning ===");
System.out.println("后置通知:在目标方法之后执行的,获取的返回值是:"+res);
System.out.println("是否为 abcd :");
if (res.equals(

本文探讨了在Spring的后置通知中,如何通过改变目标方法返回值来影响最终结果。当返回类型为基本类型或不可变对象时,改变值不会影响结果;而如果是可变对象,更改其状态将导致最终结果变化。总结关键在于理解Java的传值与传引用的区别。
最低0.47元/天 解锁文章





