码迷,mamicode.com
首页 > 编程语言 > 详细

Spring AOP基于XML配置文件的管理方式

时间:2015-01-04 11:19:07      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

1、配置Bean

<!-- 定义一个普通Bean实例,该Bean实例将被作为Aspect Bean -->
<bean id="fourAdviceBean" class="org.crazyit.app.aspect.FourAdviceTest"/>
<!-- 再定义一个普通Bean实例,该Bean实例将被作为Aspect Bean -->
<bean id="secondAdviceBean" class="org.crazyit.app.aspect.SecondAdviceTest"/>
<bean id="hello" class="org.crazyit.app.service.impl.HelloImpl"/>
<bean id="world" class="org.crazyit.app.service.impl.WorldImpl"/>

2、配置AOP
<aop:config>
<!-- 将fourAdviceBean转换成切面Bean切面Bean的新名称为:fourAdviceAspect指定该切面的优先级为2 -->
<aop:aspect id="fourAdviceAspect" ref="fourAdviceBean" order="2">
<!-- 定义一个After增强处理,直接指定切入点表达式,以切面Bean中的release()方法作为增强处理方法 -->
<aop:after pointcut="execution(* org.crazyit.app.service.impl.*.*(..))"  method="release"/>
<!-- 定义一个Before增强处理, 直接指定切入点表达式 以切面Bean中的authority()方法作为增强处理方法 -->
<aop:before pointcut="execution(* org.crazyit.app.service.impl.*.*(..))"  method="authority"/>
<!-- 定义一个AfterReturning增强处理, 直接指定切入点表达式 以切面Bean中的log()方法作为增强处理方法 -->
<aop:after-returning pointcut="execution(* org.crazyit.app.service.impl.*.*(..))"  method="log" returning="rvt"/>
<!-- 定义一个Around增强处理,直接指定切入点表达式 以切面Bean中的processTx()方法作为增强处理方法 -->
<aop:around pointcut="execution(* org.crazyit.app.service.impl.*.*(..))"  method="processTx"/>
</aop:aspect>

<!-- 将secondAdviceBean转换成切面Bean 切面Bean的新名称为:secondAdviceAspect 指定该切面的优先级为1,该切面里的增强处理将被优先织入 -->
<aop:aspect id="secondAdviceAspect" ref="secondAdviceBean" order="1">
<!-- 定义一个Before增强处理,该参数必须为String类型(由authority方法声明中msg参数的类型决定) -->
<aop:before pointcut= "execution(* org.crazyit.app.service.impl.*.*(..)) and args(aa)"  method="authority"/>
</aop:aspect>
</aop:config>


3、另:

  <aop:pointcut.../>元素可以用来定义切入点,<aop:pointcut id="xxx_id" expression="execution(* org.crazyit.app.service.impl.*.*(..))" />

  若作为作为<aop:aspect.../>子元素则只对该切面有效

  <aop:config.../>的子元素,可以被多个切面通过共享,则

  <aop:after pointcut="execution(* org.crazyit.app.service.impl.*.*(..))"  method="release"/>

  可改为:

  <aop:after pointcut-ref="xxx_id"  method="release"/>

Spring AOP基于XML配置文件的管理方式

标签:

原文地址:http://www.cnblogs.com/gaoxiangde/p/4200484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!