动态代理

Posted 海东青Lo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态代理相关的知识,希望对你有一定的参考价值。

动态代理是在实现阶段不用关心代理谁,而在运行阶段蔡指定代理哪一个对象。

动态代理类:

public class GamePlayIH implements InvocationHandler{

Class cls=null;

Object obj=null;

public GamePlayIH(Object _obj){

this.obj=_obj;

}

public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{

Object result=method.invoke(this.obj,args);

return result;

}

}

 

场景类:

pubilc class Client{

public static void main(String[] args) throws Throwable{

IGamePlayer player=new PlayerCoCo();

InvocationHandler handler=new GamePlayerIH(player);

ClassLoader cl =player.getClass().getClassLoader();

IGamePlayer proxy=(IGamePlayer)Proxy.newProxyInstance(cl,new Class[]{IGamePlayer.class},handler);

proxy.login("zhangsan","pwd");                                                                                                                                    

}

}

以上是关于动态代理的主要内容,如果未能解决你的问题,请参考以下文章

动态代理模式——JDK动态代理

动态代理

设计模式 结构型模式 -- 代理模式(动态代理(JDK动态代理(JDK动态代理要求必须定义接口,对接口进行代理。)动态代理原理(使用arthas-boot.jar查看代理类的结构)动态代理的作用)(代

动态代理——JDK中的动态代理

Spring 静态代理+JDK动态代理和CGLIB动态代理

(java反射-JDK动态代理)+CGLIB动态代理