<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
<!-- 配置bean -->
<bean id="atithmeticCalculator" class="com.tanlei.spring.bean.xml.AtithmeticCalculatorImpl"></bean>
<!-- 配置切面的bean -->
<bean id="loggingAspectj" class="com.tanlei.spring.bean.xml.LoggingAspectj">
</bean>
<bean id="vlidationAspect" class="com.tanlei.spring.bean.xml.VlidationAspect">
</bean>
<!-- 配置Aop -->
<aop:config>
<!-- 配置切点表达式 -->
<aop:pointcut expression="execution(* com.tanlei.spring.bean.xml.AtithmeticCalculator.*(int,int))" id="pointcut"/>
<!-- 配置切面及通知 -->
<aop:aspect ref="loggingAspectj" order="2">
<aop:before method="beforeMethod" pointcut-ref="pointcut"/>
<aop:after method="afterMethod" pointcut-ref="pointcut"/>
<aop:after-throwing method="logAfterThrowing" pointcut-ref="pointcut" throwing="error"/>
<aop:after-returning method="afterReturningMethod" pointcut-ref="pointcut" returning="result"/>
<aop:around method="logAround" pointcut-ref="pointcut"/>
</aop:aspect>
<aop:aspect ref="vlidationAspect" order="1">
<aop:before method="vlidationAspect" pointcut-ref="pointcut"/>
</aop:aspect>
</aop:config>
</beans>