jdk代理 cglib代理

深入探索spring技术内幕(六): JDK动态代理和cglib生成代理

倾然丶 夕夏残阳落幕 提交于 2019-12-04 00:57:02
[ JDK生成代理 ] JDK中给我们提供了一个Proxy类可以动态的给我们生成代理. 假定我们要做一个权限管理系统, 需要控制用户对某一个方法的访问. 如果user为null, 那么不让用户访问save方法. ① 接口类: PersonService public interface PersonService { public void save(); } ② 实现类: PersonServiceImpl public class PersonServiceImpl implements PersonService { private String user; public PersonServiceImpl(){ } public PersonServiceImpl(String user) { this.user = user; } public void save() { System.out.println("执行了save()方法"); } public String getUser() { return user; } } ③ 生成代理类工厂: JDKProxyFactory public class JDKProxyFactory implements InvocationHandler { private Object targetObject; /