使用aop获取方法运行之后的返回值

@AfterReturning(returning="rvt", pointcut="@annotation(com.roton.common.utils.LogRecord)")
public Object AfterExec(JoinPoint joinPoint,Object rvt){
    //pointcut是对应的注解类   rvt就是方法运行完之后要返回的值
    System.out.println("AfterReturning增强:获取目标方法的返回值:" + rvt);
    return rvt;
}
 
此方法返回的是对象,对某些需求,可能要对结果值处理一下
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
AOP(面向切面编程)中,around(环绕)通知是一种类型的通知,可以在被切入的方法执行前后进行拦截和干预。around通知可以控制目标方法的执行流程,并且还能修改返回值。 在around通知执行过程中,我们可以通过拦截目标方法执行前的位置,来获取目标方法返回值。如果我们想要修改目标方法返回值,可以通过在around通知中手动设置一个新的返回值,这个新的返回值会替代目标方法原本的返回值。 around通知的返回值类型一般与目标方法返回值类型一致,或者是它的子类型,以确保返回值的类型安全性。返回值的作用取决于具体的业务场景和需求,例如,我们可以根据某些条件动态确定返回值,或者通过额外的处理逻辑为目标方法返回一个特定的值。 然而要注意,在around通知中修改返回值可能会对程序的正常执行造成一些影响。如果我们不小心修改了目标方法返回值类型,可能会导致类型不匹配的错误。另外,如果我们没有正确处理异常情况,可能会导致无法预料的运行时异常。因此,在修改返回值时要谨慎操作,保证对目标方法返回值的处理不会引发其他问题。 综上所述,around通知可以在目标方法执行前后拦截和干预,通过修改返回值,可以对目标方法的执行结果进行定制化处理。但是要注意,修改返回值时需要保证类型的匹配和异常的正确处理,以确保程序的正常执行。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值