首页 > 代码库 > java的动态代理
java的动态代理
动态代理类
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 stub DynamicProxy dp=new DynamicProxy(); ICompent com=(ICompent)dp.bind(new Compent()); com.bussiness1(); com.bussiness2(); com.bussiness3(); } }
输出结果
静态代理见文章:http://blog.csdn.net/itbuluoge/article/details/40046377
java的动态代理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。