JAVA动态代理学习心得

 

JAVA动态代理学习心得

1.       所有的额外新添加的方法要放到InvocationHandler的实现类中

2.       Proxy类都与InvocationHandler相联系的,也就是说Proxy类的中的方法调用都会被重新分配到实例的InvoctionHandler中的invoke方法中,传递了reflect中的method

3.       创建Java动态代理类的步骤:

a)       实现InvocationHandler接口

b)      通过Proxy.newProxyInstance得到一个Proxy类的实例

一般的写法如下:

public class XXXHandler implements InvocationHandler {

private Object originalObject;

public Object bind(Object obj) {

this.originalObject = obj;

return Proxy.newProxyInstance(

obj.getClass().getClassLoader(),

obj.getClass().getInterfaces(),

this)

}

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

throws Throwable {

method.invoke(originalObject, args);

}

4.       这样调用XXXHandler:代理目标的接口类= XXXHandler的实例.bind(代理目标的实现类)

posted on 2007-09-06 16:18 刘铮 阅读(216) 评论(0)  编辑  收藏 所属分类: JAVA General


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

留言簿(1)

文章分类(141)

文章档案(147)

搜索

最新评论