Java动态代理

动态代理是在学习SSH框架中很重要的知识点,Spring中的AOP编程思想也是基于动态代理来实现的。

编写动态代理时,需要注意的两点是:

  1、需要Proxy代理类和继承InvocationHandle类

  2、需要使用到属性思想

//动态代理
class MyProxy implements InvocationHandler
{
private Object obj; //需要动态代理的对象

public Object bind(Object obj){
this.obj=obj;
return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this);
}

public Object invoke(Object obj,Method method,Object[] args) throws Throwable {
return method.invoke(obj,args);
}
}

测试代码

public class TestProxy{
public static void main(String args){
IPerson person=(Person)new MyProxy().bind(new Person());
person.sayHellow("张三",34);
}
}
原文地址:https://www.cnblogs.com/sqljiang0916/p/Java.html