以配置文件形式配置AOP基本上不怎么用,但其实写法也跟注解的写法差不多,首先要引入aop的标签库
<beans xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
">
引入标签库后对要配置的类进行配置。
<!--配置aop-->
<aop:config>
<aop:pointcut id="myPointcut" expression="execution(public Integer com.msb.service.MyCalculator*.*(..))"/>
<aop:aspect ref="logUtil">
<!--aop:pointcut标签可放在aop:aspect内,也可放在外边-->
<aop:pointcut id="thePointcutTwo" expression="execution(public Integer com.msb.service.MyCalculator*.*(..))"/>
<!--使用配置文件与使用注解一样,有before、after、after-throwing、after-returning、around-->
<!--使用pointcut标签需要将标签类型改为pointcut-ref-->
<aop:before method="start" pointcut-ref="myPointcut"></aop:before>
<aop:after method="stop" pointcut-ref="thePointcutTwo"></aop:after>
<aop:after-throwing method="throwing" pointcut="execution(public Integer com.msb.service.MyCalculator*.*(..))" throwing="e"></aop:after-throwing>
<aop:after-returning method="afterReturn" pointcut="execution(public Integer com.msb.service.MyCalculator*.*(..))" returning="result"></aop:after-returning>
<aop:around method="around" pointcut="execution(public Integer com.msb.service.MyCalculator*.*(..))"></aop:around>
</aop:aspect>
</aop:config>