实现简单的动态代理!
来源:互联网 发布:gg bd ad 720x90.js 编辑:程序博客网 时间:2024/06/04 18:47
这两天对java的动态代理感兴趣,自己写了个最简单的代码,认识一下动态代理!
例子:
类列表:
MyObjec是执行类。
MyProxy 是我自己实现的动态代理类,这个类实现了InvocationHandler接口,关于这个借口的描述就不多说了,可以参照api文档!好像动态代理类都实现这个接口,我是这么理解的,呵呵!
Test 类是我的业务类
ITest 是我业务类的接口!
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class MyObject { public static void main(String[] args) { ITest test = new Test("kimi"); ITest t = new MyProxy().getProxy(test); t.outPut(); }}class MyProxy implements InvocationHandler { private ITest itest = null; private Object test = null; public synchronized ITest getProxy(Object o) {//用Factory的方式取代理实例,不知道做得对不对 if (itest == null) { test = o; itest = (ITest) Proxy.newProxyInstance( this.getClass().getClassLoader(), o.getClass().getInterfaces(), this); return itest; } else return itest; } public Object invoke(Object o, Method m, Object[] aguments) throws Throwable { System.out.println("my Proxy start ok!!!"); return m.invoke( test, aguments); }}class Test implements ITest { private String name = null; public Test(String name) { this.name = name; } public void outPut() { System.out.println("my Test start ok!!!" + String.format("%n") + "my name is :" + this.name); }}interface ITest { public void outPut();}
最后,如有不妥当之处,请指示~!谢谢
- 实现简单的动态代理!
- 实现简单的动态代理!
- 动态代理的简单实现
- 动态代理的简单实现
- 实现简单的动态代理
- 动态代理的实现1-简单实现
- 动态代理的实现1-简单实现
- 动态代理的实现1-简单实现
- 动态代理--简单实现
- 动态代理--简单实现
- 动态代理简单实现
- java动态代理的简单实现:
- 用javassist实现简单的动态代理
- 简单的 JDK实现动态代理
- java实现简单的动态代理
- 简单的Jdk动态代理实现:
- AOP的简单实现---动态代理机制
- AOP动态代理的简单实现
- ORACLE函数介绍第一篇 著名函数之单值函数
- 日常用语--警告/劝解
- SC命令
- 使用注册表关闭Windows防火墙
- 垃圾
- 实现简单的动态代理!
- 堆和栈的区别
- LOADING页面小技巧
- 漫漫编程路——C++篇(七)——关于重载操作符(一)
- computer english
- C++操作字符串
- DB2 SQLSTATE 消息 异常
- 最常见的20种VC++编译错误信息集合
- VC小技巧