Spring AOP - 基于XML配置文件

来源:互联网 发布:linux操作mysql数据库 编辑:程序博客网 时间:2024/05/29 18:36

在Spring配置文件中,所有的切面、切入点、增强处理都必须定义在元素内部,元素下可以包含多个元素,一个元素可以包含多个pointcut/advisor/aspect元素,这三个元素必须按照顺序来定义。

1.配置切面:使用元素定义切面,其实质就是将一个Spring Bean转换成切面Bean,因此首先需要将切面类定义成Spring Bean。配置元素可以指定如下三个属性:

    1>id:定义该Aspect的标识名    2>ref:用于将ref属性引用的Bean转换成切面Bean    3>order:指定该切面Bean的优先级

2.配置增强处理:使用、、、、定义各自的增强处理,包含各自的属性综合如下:

    pointcut:指定切入表达式    pointcut-ref:指定一个已经存在的切入点名称    method:指定使用切面Bean中的哪个方法作为其增强处理    throwingAfterThrowing增强处理方法可以通过该形参访问目标方法抛出的异常    returningAfterReturning增强处理方法可以通过该形参访问目标方法的返回值

3.配置切入点表达式:使用元素来定义切入点表达式,该元素包含如下两个属性:

    1>id:指定该切入点的标识名    2>expression:指定该切入点关联的切入点表达式

综合示例代码:

<beans...>    <!--Spring AOP主元素-->    <aop:config>        <!--定义一个切入点,用于给增强处理元素引用-->        <aop:pointcut id="simple" expression="execution(* *.*.*(..))" />        <!--定义一个普通Spring Bean-->        <bean id="simpleaspectbean" class="SimpleAspect" />        <!--将Spring Bean配置成切面Bean-->        <aop:aspect id="simpleaspect" ref="simpleaspectbean" order="1">            <!--定义before增强处理,引用之前定义的切入点-->            <aop:before pointcut-ref="simple" method="beforeaspect" />        </aop:aspect>    </aop:config></beans>
0 0