一、JDK动态代理
Spring AOP的默认代理方式
默认情况下,Spring AOP使用JDK动态代理,JDK动态代理是通过java.lang.reflect.Proxy 类实现的,可以调用Proxy类的newProxyInstance()方法创建代理对象。JDK动态代理可以实现无侵入式的代码扩展,并且可以在不修改源代码的情况下,增强某些方法。
接下来,通过一个案例演示Spring中JDK动态代理的实现过程,案例具体实现步骤如下。
1、在IDEA中创建一个名为chapter08的Maven项目,然后在项目的pom.xml文件中加载需使用到的Spring基础包和Spring的依赖包。
2、创建接口UserDao,在UserDao接口中编写添加和删除的方法。
package com.mac.demo01;
public interface UserDao {
public void addUser();
public void deleteUser();
}
3、创建UserDao接口的实现类UserDaoImpl,分别实现接口中的方法。
package com.mac.demo01;
public class UserDaoImpl implements UserDao {
public void addUser() {
System.out.println("添加用户"); }
public void deleteUser() {
System.out.println("删除用户"); }
}