AOP简述
一个初学者的学习笔记
面向切面编程
AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
下面展示AOP的两种动态代理
文章目录
一.JDK 动态代理
JDK中的动态代理是通过反射类Proxy以及InvocationHandler回调接口实现的,只能对实现了接口的类产生代理对象
1.创建接口与实现类
接口
public interface UserDAO {
void addUser();
void delUser();
void updateUser();
void queryAllUser();
void findUser();
}
实现类
@Repository("userDAO")
public class UserDAOImpl implements UserDAO {
@Override
public void addUser() {
System.out.println("------addUser()-----");
}
@Override
public void delUser() {
System.out.println("------delUser()-----");
}
@Override
public void updateUser() {
System.out.println("-----updateUser()-----");
}
@Override
public void queryAllUser() {
System.out.println("-----queryAllUser()-----");
}
@Override
public void findUser() {
System.out.println("------findUser()-----");
}
}
2.在applicationContext.xml中配置注解
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http:/