java的动态代理

来源:互联网 发布:mac unity5 破解 编辑:程序博客网 时间:2024/05/21 10:05

动态代理类

package itbuluoge.proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class DynamicProxy 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 arg0, Method method, Object[] args)throws Throwable {Object result=null;try{validateUser();result=method.invoke(obj,args);}catch(Exception e){e.printStackTrace();}return result;}public void validateUser(){System.out.println("验证用户...");}}


测试类

package itbuluoge.proxy;public class TestDynamic {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubDynamicProxy dp=new DynamicProxy();ICompent com=(ICompent)dp.bind(new Compent());com.bussiness1();com.bussiness2();com.bussiness3();}}


输出结果



静态代理见文章:http://blog.csdn.net/itbuluoge/article/details/40046377

0 0
原创粉丝点击