JDK的动态代理实现调用拦截器中的方法
来源:优易学  2011-9-15 11:13:10   【优易学:中国教育考试门户网】   资料下载   IT书店

  3.实现核心的拦截器类当某个方法被调用之前或之后执行相应的拦截器的方法.至于要拦截哪一个对象,则需通过后面的操作来体现.
  
//PersonIntercepter.java
  package cn.edu.hld;
  public class PersonIntercepter
  {
  public void method1()
  {
  System.out.println("method_1被执行了!") ;
  }
  public void method2()
  {
  System.out.println("method_2被执行了!") ;
  }
  }
  4.为了让拦截器知道其要拦截的目标对象,以及其应执行的方法,则应该创建一个类,该类实现一个JDK反射体系里的接口InvocationHandler.
  
//ProxyHandler .java
  package cn.edu.hld;
  import java.lang.reflect.InvocationHandler;
  import java.lang.reflect.Method;
  public class ProxyHandler implements InvocationHandler
  {
  private Object target ;
  private PersonIntercepter pi = new PersonIntercepter() ;
  public Object invoke(Object proxy, Method method, Object[] args)
  throws Throwable
  {
  Object result = null ;
  if(method.getName().equals("info"))
  {
  pi.method1() ;
  result = method.invoke(target, args) ;
  pi.method2() ;
  }
  else
  {
  result = method.invoke(target, args) ;
  }
  return result;
  }
  public void setTarget(Object target)
  {
  this.target = target;
  }
  }

上一页  [1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训