AOP
newProxyInstance(ClassLoader loader, 类<?>[] interfaces, InvocationHandler h) //返回指定接口的代理类的实例,该接口将方法调用分派给指定的调用处理程序。
ClassLoader 类加载器 interfaces 增强方法所在类 类所实现的接口-------Class[] interfaces = {UserDao.class}; InvocationHandler 实现InvocationHandler 创建代理对象 写增强方法 是一个接口
JDK动态代理(有接口情况)
-
创建接口,定义方法
public interface UserDao { public int add(int a,int b); public String update(String id); }
-
创建接口实现类,实现方法
public class UserDaoImpl implements UserDao{ @Override public int add(int a, int b) { return a + b; } @Override public String update(String id) { return id; } }
-
使用Proxy类创建代理对象
public class JDKProxy { public static void main(String[] args) { //创建接口实现类的代理对象 Class[] interfaces = {UserDao.class}; UserDaoImpl userDao