代理模式(动态代理)
动态代理。就是不用自己写代理类,只要实现接口就行了。
动态代理,这里介绍两种:jdk and cglib
第一个jdk
//一个接口类 public interface Book{ void read(String name); } //一个实现类 public class BookImpl implements Book{ @Override public void read(String name){ System.out.println(name); } } //实现一个一个代理类接口 public class MyInvocationHandler implements InvocationHandler{ private Object target; public MyInvocationHandler(Object target){ this.target =target ; } @Override public Object invoke(Object o,Method method,Object[] args)throws Throwable{ return method.invoke(target,args); } } //测试方法 Public class Main{ public static void main(String args[]){ Book bookImpl = new BookImpl; Object obj = Proxy.newProxyInstance(bookImpl.getClass, )book,getClss().getInterface(),new myInvocation }cglib
//一个实现类 public class BookImpl { @Override public void read(String name){ System.out.println(name); } } //实现一个一个代理类接口 public class MyInsterceptor implements MethodIntao{ private Object target; public MyInvocationHandler(Object target){ this.target =target ; } @Override public Object intercept(Object o,Method method,Object[] args,MethodProxy myInterce)throws Throwable{ return method.invoke(target,args); } } //测试方法 Public class Main{ public static void main(String args[]){ BookImpl book = new BookImpl(); Enhancer enhancer = new Enhancer(); enhancer.setSuperClass (book.getClass); enhancer.setCallback(new MyInterceptor(book)) BookImpl b = (BookImpl)enhancer.create(); }
设计模式之代理模式、动态代理模式、Cglib代理模式动态代理是代理模式吗
代理模式-静态代理模式 代理模式-动态代理(基于接口,JDK动态代理)动态代理是代理模式吗
代理模式(静态代理模式、动态代理模式、cgLib代理模式、拦截器)动态代理模式
【设计模式】代理模式 ( 动态代理使用流程 | 创建目标对象 | 创建被代理对象 | 创建调用处理程序 | 动态创建代理对象 | 动态代理调用 )动态代理是代理模式吗
代理模式-动态代理详解(JDK动态代理和CGLIB动态代理)jdk cglib动态代理
代理模式-动态代理(基于接口,JDK动态代理)jdk动态代理和cglib动态代理
设计模式之代理模式(包含静态代理和动态代理)设计模式的代理模式
Java设计模式--代理模式--静态代理/动态代理--使用/详解/实例java设计模式之代理模式