AOP的三种实现方式之一通过xml配置文件实现

1. 在配置文件中导入AOP依赖

xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd 

2. 编写接口

package com.yd.demo;

public interface UserService {
    public void add();
    public void delete();
    public void update();
    public void query();
}

3. 编写接口实现类

package com.yd.demo;


public class UserServiceImpl implements UserService {
    public void add() {
        System.out.println("add ...");
    }

    public void delete() {
        System.out.println("delete ...");
    }

    public void update() {
        System.out.println("update ...");
    }

    public void query() {
        System.out.println("query ...");
    }
}

4. 编写切面类

package com.yd.demo;

public class PointCut {
    public void ponitcut(){
        System.out.println("aop cut ....");
    }
}

5. 编写配置文件,使用配置文件实现AOP。

<?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.xsd ">

    <bean id="userService" class="com.yd.demo.UserServiceImpl"/>

    <!--创建切面类对象-->
    <bean id="pointCut" class="com.yd.demo.PointCut"/>

    <!--配置aop-->
    <aop:config>
        <!--配置切面-->
        <aop:aspect ref="pointCut">

            <!--配置切入点-->
            <aop:pointcut id="diyPointCut" expression="execution(* com.yd.demo.UserServiceImpl.*(..))"/>

            <!--配置切入方法-->
            <aop:before method="ponitcut" pointcut-ref="diyPointCut"/>

        </aop:aspect>

    </aop:config>

</beans>

原文地址:https://www.cnblogs.com/chao666/p/12875551.html