JDK的动态代理机制
JDK的动态代理机制
JDK的动态代理是jdk1.3及以上版本提供的一种编程方法,它为一些面向切面的操作如性能检测,权限验证,日志记录等提供了一种解决方案。它是在被代理类的某个方法在执行前后,通过代理类执行一些新的逻辑。下面通过一个例子加以说明。
1.JDK的动态代理,必须要有一个接口,所以先定义一个接口,:
public class TestProxy {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub //new 一个被代理对象 ProxyInterface pi = new ProxyClass(); //new一个代理对象 Proxyhandler ph = new Proxyhandler(); //将被代理对象赋给代理对象 ph.setPi(pi); //通过代理机制生成一个新的被代理对象 ProxyInterface p = (ProxyInterface) Proxy.newProxyInstance(pi.getClass().getClassLoader(),new Class[]{ProxyInterface.class}, ph); //执行代理方法 p.execute();}}