Maison >Java >javaDidacticiel >Quels sont les modes semi-annotation et annotation complète de Spring AOP ?

Quels sont les modes semi-annotation et annotation complète de Spring AOP ?

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-05-06 10:19:472604parcourir

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

Quels sont les modes semi-annotation et annotation complète de 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基础教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer