谁有java动态代理的例子,麻烦发给我看一下,现在对它相当的模糊,不知道它有什么用,有什么好处。。。

一个小的例子都行,只要有代表性就可以,谢谢了。。。liuhj0304@126.com先给到30分,不要嫌少啊,再补。。。。... 一个小的例子都行,只要有代表性就可以,谢谢了。。。
liuhj0304@126.com
先给到30分,不要嫌少啊,再补。。。。
展开
 我来答
来自法海寺文明的栀子花
2011-08-17 · 超过13用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:35.9万
展开全部
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class DynamicProxy implements InvocationHandler
{

private Object target;
public Object getProxyInstance(Object target)
{
this.target = target ;
Object o =Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(), this);
return o;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
// TODO Auto-generated method stub
method.invoke(this.target, args);
return null;
}

}

上面这个是代理类,

下面这个是接口:
public interface Interface {
public abstract String say(String s);
}

下面这个是接口的实现类:

public class People implements Interface
{
private String name;
public People(String s)
{
this.name = s;
}
@Override
public String say(String s) {
// TODO Auto-generated method stub
System.out.println("my name is "+name+s);
return s;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

下面这个是测试类:
public class MainTest {
public static void main(String[] args)
{
People pl =new People("吴援飘");
/*ProxyClass pc = new ProxyClass(pl);
pc.say(",你真厉害!");*/
DynamicProxy dp = new DynamicProxy();
Interface it = (Interface)dp.getProxyInstance(pl);
it.say(",这个是动态代理,很牛B的。");
}
}
------------------------------------------------------------------------------------------------------------
学动态代理之前,先去看下java的代理模式。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式