这一讲示例了 Spring 基于配置文件的方式来配置 AOP 。
项目结构:
基于 xml 来配置 AOP -佟刚老师《Spring4视频教程》学习笔记(22)_spring4
示例代码:

<?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="arithMeticCalculator" class="com.liwei.spring.xml.aop.ArithmeticCalculatorImpl"></bean>

    <!-- 配置切面的 bean -->
    <bean id="loggerAspect" class="com.liwei.spring.xml.aop.LoggerAspect"></bean>
    <bean id="validateAspect" class="com.liwei.spring.xml.aop.ValidateAspect"></bean>


    <!-- AOP 配置开始 -->
    <aop:config>
        <!-- 配置切入点表达式 -->
        <aop:pointcut expression="execution(public int com.liwei.spring.xml.aop.ArithmeticCalculator.add(int, int))" id="addPointCut"/>
        <!-- 配置切面 -->
        <aop:aspect ref="loggerAspect" order="2">
            <aop:before method="beforeMethod" pointcut-ref="addPointCut"/>
            <aop:after-returning method="afterReturnMethod" pointcut-ref="addPointCut" returning="result"/>
        </aop:aspect>

        <aop:aspect ref="validateAspect" order="1">
            <aop:around method="aroundMethod" pointcut-ref="addPointCut"/>
        </aop:aspect>
    </aop:config>
</beans>