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

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

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

修改成以下注解

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

&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的半注解和全注解模式是什么-LMLPHP

&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的半注解和全注解模式是什么-LMLPHP

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

 aop:around method="arroundMethod" pointcut-ref="pt1"/>
登录后复制

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

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

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

-->
<aop:aspectj-autoproxy/>
登录后复制

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

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

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

以上就是Spring AOP的半注解和全注解模式是什么的详细内容,更多请关注Work网其它相关文章!

09-14 20:44