上一篇谢了动态代理,这篇写spring中的一个重要特征AOP,来进行spring的面向切面编程.
首先配置pom.xml文件
org.springframework spring-webmvc5.3.9 org.aspectj aspectjweaver1.9.7 runtime junit junit4.11 test
2,我们先写一个接口,里面还是正常的增删改查方法
3,写这个接口的实现类,并实现接口的方法
package User;
public class UserDaoImpl implements UserDao {
@Override
public void add() {
System.out.println("实现了add方法");
}
@Override
public void delete() {
System.out.println("实现了delete方法");
}
@Override
public void update() {
System.out.println("实现了update方法");
}
@Override
public void query() {
System.out.println("实现了query方法");
}
}
4,然后我们可以写一个类继承MethodBeforeAdvice接口,再写一个类继承AfterReturningAdvice接口(前置后置通知),这时候我们的xml配置文件只需要这样写:
5,如果我们自定义类,里面注解写方法,那么我们的xml配置文件这样写:
6,测试
import User.UserDao;
import User.UserDaoImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("aop.xml");
UserDao impl = (UserDao) applicationContext.getBean("Impl");
impl.add();
}
}



