java 动态代理

什么是代理?

应用设计模式定义,代理是对其他对象提供一种代理以控制对这个对象的访问。

反映到动态代理中,”控制对这个对象的访问“貌似是通过invokeHandler来实现的。


java动态代理是在java反射的基础上封装了一层。


public  void invokeMethod(Interface[] interfaces)

{

         for(Interface interface :interfaces)

         {

                  String interfaceName = interface.getName();

                 Class objeClass = Class.forName(interfaceName);       

                Method[] mehods = objeClass.getMethods();


               for (Method method : methods)

              {

                       invoke(proxy,  method,  args);

              }

         }

      

public abstract void invoke(object proxy,  Method method, object[] args);


对于多个接口,动态代理内部实现上实际上是将所有的接口拼接为一个接口。而定义InvocationHandler 接口带来的益处是方便的实现AOP。


当我们调用proxy.methodimpl(object args)的时候,代理类将methodimpl和args作为参数传递给了invokeMethod方法,从而实现了动态代理。  


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值