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);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步