Java动态代理简单步骤

作者: b496178cdc84 | 来源:发表于2016-09-21 16:56 被阅读88次

    实现步骤。
    1、定义Hook类实现InvocationHandler接口。
    2、在Hook类中定义需要被代理的对象。

    public class IHook implements InvocationHandler {  
    
      private Object beHookedObj;//这个对象是你要代理的对象  
     
     public void setBeHookedObj(Object beHookedObj) { 
           this.beHookedObj = beHookedObj;  
      }    
    @Override    
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{
      System.out.println("执行方法");       
      return method.invoke(beHookedObj, args); 
       }}
    

    3、实例化hook 并 传入需要被代理的对象obj
    4、调用Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(), hook);
    obj为被代理对象
    5、在Hook的invoke方法里面dosomething就可以了

    相关文章

      网友评论

        本文标题:Java动态代理简单步骤

        本文链接:https://www.haomeiwen.com/subject/cyunettx.html