本篇文章给大家介绍一下Spring AOP的半注解和全注解模式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
<bean id="logUtils" class="com.lagou.edu.utils.LogUtils"></bean> <aop:config> <aop:aspect id="logAspect" ref="logUtils"> </aop:aspect> </aop:config>
修改成以下注解
<!–切入点锁定我们感兴趣的方法,使用aspectj语法表达式–> <!–<aop:pointcut id="pt1" expression="execution(* *..*.*(..))"/>–>
<aop:pointcut id="pt1" expression="execution(* com.lagou.edu.service.impl.TransferServiceImpl.*(..))"/>
修改注解,加入一个空的方法
<!–方位信息,pointcut-ref关联切入点–> <!–aop:before前置通知/增强–> <aop:before method="beforeMethod" pointcut-ref="pt1"/> <!–aop:after,最终通知,无论如何都执行–> <!–aop:after-returnning,正常执行通知–> <aop:after-returning method="successMethod" returning="retValue"/> <!–aop:after-throwing,异常通知–>
修改注解
aop:around method="arroundMethod" pointcut-ref="pt1"/>
把原来的xml配置注释掉,只需在xml配置
<!--开启aop注解驱动 proxy-target-class:true强制使用cglib --> <aop:aspectj-autoproxy/>
这是半注解模式,如果需要开启全注解模式,
只需在配置类中加入@EnableAspectJAutoProxy //开启spring对注解AOP的支持
相关免费学习推荐:java基础教程
Das obige ist der detaillierte Inhalt vonWas sind die Semi-Annotation- und Full-Annotation-Modi von Spring AOP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!