JDK动态代理

JDK的动态代理主要涉及java.lang.reflect包中的两个类:Proxy和InvocationHandler。其中,InvocationHandler是一个接口,可以通过实现改接口定义横切逻辑,并通过反射机制调用目标类的代码,动态的将横切逻辑和业务逻辑编织在一起。而Proxy利用InvocationHandler动态创建一个符合某一接口的实例,生成目标类的代理对象。
 
Object target = new Object(); //希望被代理的目标业务类
 
XXXHandler handler = new XXXHandler();    //一个实现了InvocationHandler的类,将目标业务类和切面代码编织到一起
 
Proxy proxy = Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), handler);
 
proxy.useMethod(Object params);  调用代理对象方法
原文地址:https://www.cnblogs.com/gqymy/p/11081716.html