java中的动态代理

2017/02/12 iteye

jdk中动态代理只支持接口的方式   实现方式是:  

  1. 调用 java.lang.reflect.Proxy中的静态方法    

    newProxyInstance(ClassLoader loader,                                       Class[] interfaces,                                       InvocationHandler h)

loader和interfaces是被代理类的   针对返回的对象转型为被代理类的接口   2. 实现一个java.lang.reflect.InvocationHandler 接口,实现其中的方法   >public Object invoke(Object proxy,                      Method method, Object[] args)

此处关键是需要传入具体类作为此实现类的实例变量,  并保证以以下方式调用,并在该方法调用前后加入需要代理的逻辑   >method.invoke(被代理类实例,args);  

Search

    Table of Contents