码迷,mamicode.com
首页 > 编程语言 > 详细

JavaEE之动态代理

时间:2017-06-05 23:54:06      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:系统底层   自己   medium   ext   object   handle   java反射   line   invoke   

jdk动态代理主要使用的是java反射机制(既java.lang.reflect包)

动态代理:程序运行时,使用JDK提供工具类(Proxy),动态创建一个类,此类一般用于代理。

代理类需要实现InvocationHandler接口,并重写invoke方法,invoke方法中的参数由系统底层生成,不需要自己给出,只需要利用method方法用于重写方法就好.

Object proxyObj = Proxy.newProxyInstance(参数1,参数2,参数3);

参数1:ClassLoader,负责将动态创建类,加载到内存。当前类.class.getClassLoader();

参数2:Class[] interfaces ,代理类需要实现的所有接口(确定方法),被代理类实例.getClass().getInterfaces();

参数3:InvocationHandler, 请求处理类,代理类不具有任何功能,代理类的每一个方法执行时,调用处理类invoke方法。

voke(Object proxy ,Method ,Object[] args)

                 参数1:代理实例

                 参数2:当前执行的方法

                 参数3:方法实际参数。

 

 

 

 

JavaEE之动态代理

标签:系统底层   自己   medium   ext   object   handle   java反射   line   invoke   

原文地址:http://www.cnblogs.com/outsidersblogs/p/6947436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!