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://i-blog.csdnimg.cn/blog_migrate/c5d6396e0367d8cd2ddec1f1c5139600.jpeg)