Java动态代理模式(DynamicProxy)的实现
什么是动态代理?
所谓是动态代理就是java在运行的使用通过反射的方式调用代理对象。
在java中主要是用java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。来实现动态代理
Proxy 主要是获取代理对象
InvocationHandler 来约束调用者的实现
实现代码如下:
业务接口
public class DynamicProxytest{public static void main(String[] args){MethodDaoImpl t = new MethodDaoImpl();//获取业务接口的实现对象InvocationHandler handler = new MethodHandler(t);// 获取一个InvocationHandler实现MethodDao methodDao = (MethodDao) Proxy.newProxyInstance(t.getClass().getClassLoader(), t.getClass().getInterfaces(), handler);//创建动态代理对象methodDao.save();//通过代理对象调用方法}}