java动态代理
来源:互联网 发布:淘宝电动车价格便宜 编辑:程序博客网 时间:2024/06/08 21:33
动态代理是java的一大特性,它的优势在于可以实现无侵入式的代码扩展。
动态代理主要可以用来做方法的增强,可以在不修改源码的情况下,增强一些方法,在方法执行前后做你任何想做的事情(甚至不需要执行主体方法)。
Spring中的AOP实现原理就是通过动态代理实现的。
话不多说,直接上代码了。。
public interface WriteCode { public void writeCode(); }
public class WriteCodeImpl implements WriteCode { @Override public void writeCode() { System.out.println("write code..."); }}
public class WriteCodeProxy implements InvocationHandler { private Object target; public WriteCodeProxy(Object target) { this.target = target; } public Object bind(){ return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object result = null; System.out.println("write code begin..."); result=method.invoke(target, args); System.out.println("write code end..."); return result; }}
public class TestProxy { public static void main(String[] args) { WriteCodeProxy proxy = new WriteCodeProxy(new WriteCodeImpl()); WriteCode wc = (WriteCode) proxy.bind(); wc.writeCode(); }}
0 0
- Java 代理,动态代理
- [Java] Java 动态代理
- java代理及动态代理
- java代理模式--动态代理
- Java静态代理、动态代理
- Java 代理之 动态代理
- Java 代理与动态代理
- java静态代理,动态代理
- 代理模式&java动态代理
- Java代理与动态代理
- Java静态代理动态代理
- JAVA代理模式--动态代理
- java 代理和动态代理
- JAVA动态代理 代理模式
- Java动态代理--jdk代理
- Java动态代理--cglib代理
- Java 代理与动态代理
- java代理模式-动态代理
- maven 多项目管理
- fedora 22 : Vim & cscope & ctags 简易使用
- Android Can only use lower 16 bits for requestCode
- Unity 4.7 Animation Reset
- 2015年开源前端框架盘点TOP20
- java动态代理
- Javaweb学习总结(三):Myeclipse常用的快捷键
- 第一次好好写一个 自己的博客
- SimpleDateFormat的pattern模式YYYYMMDDHHmmSS
- 5.6. Looping Techniques(循环技术)
- Lua模块和模块载入浅析
- android数据存储方式之二 文件存储:外存储
- Android Intent应用,打开网页,安装程序,打电话,打开地图等功能
- 一张图解释TDD和FDD的区别