System.out.println(“@AfterReturning:参数为:” +
Arrays.toString(point.getArgs()));
System.out.println(“@AfterReturning:返回值为:” + returnValue);
System.out.println(“@AfterReturning:被织入的目标对象为:” + point.getTarget());
}
@After(“execution(* com.abc.service..many(…))”)
public void releaseResource(JoinPoint point) {
System.out.println(“@After:模拟释放资源…”);
System.out.println(“@After:目标方法为:” +
point.getSignature().getDeclaringTypeName() +
“.” + point.getSignature().getName());
System.out.println(“@After:参数为:” + Arrays.toString(point.getArgs()));
System.out.println(“@After:被织入的目标对象为:” + point.getTarget());
}
}
在AdviceManager类中增加以下内容:
//将被AdviceTest的各种方法匹配
public String manyAdvices(String param1, String param2) {
System.out.println(“方法:manyAdvices”);
return param1 + " 、" + param2;
}
在com.abc.main.AOPTest中加入方法的调用,触发切点:
String result = manager.manyAdvices(“aa”, “bb”);
System.out.println(“Test方法中调用切点方法的返回值:” + result);
下面是执行结果:
@Around:执行目标方法之前…
@Before:模拟权限检查…
@Before:目标方法为:com.abc.service.AdviceManager.manyAdvices
@Before:参数为:[改变后的参数1, bb]
@Before:被织入的目标对象为