Spring AOP的半注解和全注解模式是什么

来自:互联网
时间:2021-05-06
阅读:

Spring AOP的半注解和全注解模式是什么

<bean id="logUtils" class="com.lagou.edu.utils.LogUtils"></bean>
<aop:config>
    <aop:aspect id="logAspect" ref="logUtils">
    </aop:aspect>
</aop:config>

修改成以下注解

Spring AOP的半注解和全注解模式是什么

&lt;!&ndash;切入点锁定我们感兴趣的方法,使用aspectj语法表达式&ndash;&gt;
&lt;!&ndash;<aop:pointcut id="pt1" expression="execution(* *..*.*(..))"/>&ndash;&gt;
 <aop:pointcut id="pt1" expression="execution(* com.lagou.edu.service.impl.TransferServiceImpl.*(..))"/>

修改注解,加入一个空的方法

Spring AOP的半注解和全注解模式是什么

&lt;!&ndash;方位信息,pointcut-ref关联切入点&ndash;&gt;
&lt;!&ndash;aop:before前置通知/增强&ndash;&gt;
<aop:before method="beforeMethod" pointcut-ref="pt1"/>
&lt;!&ndash;aop:after,最终通知,无论如何都执行&ndash;&gt;
&lt;!&ndash;aop:after-returnning,正常执行通知&ndash;&gt;
<aop:after-returning method="successMethod" returning="retValue"/>
&lt;!&ndash;aop:after-throwing,异常通知&ndash;&gt;

修改注解

Spring AOP的半注解和全注解模式是什么

Spring AOP的半注解和全注解模式是什么

 aop:around method="arroundMethod" pointcut-ref="pt1"/>

Spring AOP的半注解和全注解模式是什么

把原来的xml配置注释掉,只需在xml配置

<!--开启aop注解驱动
    proxy-target-class:true强制使用cglib

-->
<aop:aspectj-autoproxy/>

这是半注解模式,如果需要开启全注解模式,

只需在配置类中加入@EnableAspectJAutoProxy //开启spring对注解AOP的支持

返回顶部
顶部