spring使用aop时遇到的一些问题

一.前置知识
消息分类
before :前置消息,即在目标方法执行之前执行。
after-returning:后置消息,即在目标方法执行之后执行。
after-throwing:异常消息,即在目标方法中执行到出现异常后执行。
after :最终消息,此方法无论是否异常都会最终执行。

原理:spring aop是使用动态代理(包括基于接口和基于子类两种代理)spring会根据情况选择相应的类型。动态代理内部使用的反射进行获取对象并执行方法。

问题:在配置aop时,将aop:after和aop:after-returning位置互换,那么在目标方法上执行效果也是两者互换。

<aop:config>
        <aop:aspect id="useAspect" ref="useAdvice">
            <aop:pointcut id="usePointcut" expression="execution(public void com.xzx.Service.Impl.ServiceImpl.show2(int))"></aop:pointcut>
            <aop:before method="before" pointcut-ref="usePointcut"></aop:before>
            <aop:after-returning method="afterreturning" pointcut-ref="usePointcut"></aop:after-returning>
            <aop:after method="after" pointcut-ref
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值