Spring中的AOP——在Advice方法中获取目标方法的参数,初级java面试问的问题

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:被织入的目标对象为࿱

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值