自己实现一个JDK动态代理
回顾JDK代理 Spring AOP 用到了两种动态代理模式:JDK动态代理和CGLIB动态代理,两种动态代理形成互补。今天我们来尝试纯手写一个简版的JDK动态代理,来了解它的底层实现原理。我们先来回顾一下JDK动态代理 动态代理的条件 两个角色: 代理对象,被代理对象 代理对象需要完成被代理对象的需要完成的业务操作 代理对象持有被代理对象的引用 JDK动态代理 被代理对象必须实现接口,CGLIB动态代理被代理类和方法不能用final修饰 实现代码 被代理对象实现的目标接口 package com.nqmysb.proxy.jdk; /** * 目标接口 * @author liaocan * */ public interface Subject { /* * 抽象业务方法 */ void businessMethod(); } 被代理的目标对象 package com.nqmysb.proxy.jdk.impl; import com.nqmysb.proxy.jdk.Subject; /** * 具体的目标对象,实现目标接口的方法 * @author liaocan * */ p...
