SpringAOP-advice通知返回值获取教程(四)

6 篇文章 0 订阅
5 篇文章 0 订阅

AOP-五种通知类型

前置通知(before)
后置通知(after):无论原始方式方法是否有异常,都将执行
返回后通知(after-returning):原始方法出现异常,则无法执行
抛出异常后通知(after-throwing)
环绕通知(around)

通知返回值获取教程

  • 通知类型中after,around可以获得返回值
  • after-returning因为有可能抛出异常,继续执行,获取不到返回值

方式一:

原始方法:

 public int update() {
        System.out.println("user service update running....");
        return 100;
    }

通知方法:

  public void afterReturing(Object ret){
        System.out.println("afterReturing..."+ret);
    }

AOP配置:

<bean id="myAdvice" class="com.it.aop.AOPAdvice"/>

<!--通知获取原始方法返回值信息-->
    <aop:config>
        <aop:pointcut id="pt" expression="execution(* *..*(..))"/>
        <aop:aspect ref="myAdvice">
            <aop:after-returning method="afterReturing" pointcut-ref="pt" returning="ret"/>
            <aop:around method="around" pointcut-ref="pt"/>
        </aop:aspect>
    </aop:config>

方式二:通过ProceedingJoinPoint的方法

推荐使用

 public void afterReturing(ProceedingJoinPoint pjp){
 				 Object ret = pjp.proceed();
        System.out.println("afterReturing..."+ret);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值