动态代理使用
来源:互联网 发布:ubuntu安装qq2016 编辑:程序博客网 时间:2024/06/07 07:01
动态代理使用
java动态代理机制以巧妙的方式实现了代理模式的设计理念。
代理模式示例代码
public interface Subject { public void doSomething(); } public class RealSubject implements Subject { public void doSomething() { System.out.println( "call doSomething()" ); } } public class ProxyHandler implements InvocationHandler { private Object proxied; public ProxyHandler( Object proxied ) { this.proxied = proxied; } public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable { //在转调具体目标对象之前,可以执行一些功能处理 //转调具体目标对象的方法 return method.invoke( proxied, args); //在转调具体目标对象之后,可以执行一些功能处理 } }
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import sun.misc.ProxyGenerator; import java.io.*; public class DynamicProxy { public static void main( String args[] ) { RealSubject real = new RealSubject(); Subject proxySubject = (Subject)Proxy.newProxyInstance(Subject.class.getClassLoader(), new Class[]{Subject.class}, new ProxyHandler(real)); proxySubject.doSomething(); //write proxySubject class binary data to file createProxyClassFile(); } public static void createProxyClassFile() { String name = "ProxySubject"; byte[] data = ProxyGenerator.generateProxyClass( name, new Class[] { Subject.class } ); try { FileOutputStream out = new FileOutputStream( name + ".class" ); out.write( data ); out.close(); } catch( Exception e ) { e.printStackTrace(); } } }
0 0
- 使用动态代理,提高工作效率
- Spring动态代理使用
- 为何使用动态代理
- 动态代理使用
- 动态代理的使用
- Java动态代理使用
- 使用 JDK 动态代理
- 使用AspectCore动态代理
- cglib动态代理使用
- java动态代理使用
- castle动态代理的使用
- 使用jdk动态代理实例
- 使用Cglib创建动态代理
- java动态代理的使用
- Java中的动态代理使用
- invocationHandler动态代理的使用
- 使用CGLib实现动态代理
- Java中动态代理使用
- HttpClient4.4 模仿登陆及维持同一session 请求
- CXF-webservice使用记录
- 【转】
- Android中用get方式提交数据到服务器
- Magent/Memcached负载均匀与容错
- 动态代理使用
- MSSQL 复习笔记 (下)
- PostgreSQL 通配符
- C/S File Transfer Swing
- 教你一招,让你摆脱ftp工具上因为权限不足而删不了想删除文件夹的苦恼
- Linux 环境下如何使 Chrome 浏览器字体更漂亮
- 本土邮件服务器品牌的特色及发展趋势
- maven build 的时候,卡死在Downloading metadata的解决方法
- Linux学习6_Linux下载文件命令wget用法介绍