Home  >  Article  >  Java  >  What are the semi-annotation and full-annotation modes of Spring AOP?

What are the semi-annotation and full-annotation modes of Spring AOP?

醉折花枝作酒筹
醉折花枝作酒筹forward
2021-05-06 10:19:472504browse

本篇文章给大家介绍一下Spring AOP的半注解和全注解模式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

What are the semi-annotation and full-annotation modes of Spring AOP?

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

修改成以下注解

&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.*(..))"/>

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

&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;

修改注解

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

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

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

-->
<aop:aspectj-autoproxy/>

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

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

相关免费学习推荐:java基础教程

The above is the detailed content of What are the semi-annotation and full-annotation modes of Spring AOP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete