Java动态代理
来源:互联网 发布:ubuntu 14.04 镜像源 编辑:程序博客网 时间:2024/05/22 06:44
代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理
接口:
public interface Subject {
abstract public void request(String st);
}
接口实现类:
public class RealSubject implements Subject {
public void request(String st) {
System.out.println("dosomething"+st);
}
}
代理类:
public class DynamicSubject implements InvocationHandler{
Object sub;
public DynamicSubject(Object obj){
this.sub=obj;
}
public Object invoke(Object object, Method method, Object[] args) throws Throwable {
System.out.println("before calling"+args.toString());
method.invoke(sub, args);
System.out.println("after calling"+args);
return null;
}
}
实现类:
public class Client {
static public void main(String args[])throws Exception{
RealSubject rs=new RealSubject();
InvocationHandler ih=new DynamicSubject(rs);
Class cl=rs.getClass();
Subject subject=(Subject)Proxy.newProxyInstance(cl.getClassLoader(),cl.getInterfaces(),ih);
subject.request("55");
}
}
- Java 代理,动态代理
- [Java] Java 动态代理
- java代理及动态代理
- java代理模式--动态代理
- Java静态代理、动态代理
- Java 代理之 动态代理
- Java 代理与动态代理
- java静态代理,动态代理
- 代理模式&java动态代理
- Java代理与动态代理
- Java静态代理动态代理
- JAVA代理模式--动态代理
- java 代理和动态代理
- JAVA动态代理 代理模式
- Java动态代理--jdk代理
- Java动态代理--cglib代理
- Java 代理与动态代理
- java代理模式-动态代理
- JavaScript中的剪贴板(clipboardData)提供了对剪贴板的访问。
- 解决matlab的mat文件与ACCESS2003文件关联冲突问题
- 经典问题6 c/c++ 程序设计 ---与或非问题
- readyState:
- Effective C++ 2
- Java动态代理
- 隐藏某个按钮:
- 权限管理设计方法
- seo-用户体验
- function() {函数名();}
- 我的七个建议
- indent 命令参数
- 经典问题5:c/c++ 程序设计 ---usigned char类型转换问题
- typeof()运算符: