动态代理
来源:互联网 发布:coc各级墙升级数据 编辑:程序博客网 时间:2024/06/05 11:41
Subject.java
package dynamicproxy;public interface Subject { void rent(); void hello(String str);}
RealSubject.java
package dynamicproxy;public class RealSubject implements Subject { public void rent() { System.out.println("I want to rent my house"); } public void hello(String str) { System.out.println("hello: " + str); }}
DynamicProxy.java
package dynamicproxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;public class DynamicProxy implements InvocationHandler { // 要代理的真实对象 private Object subject; // public DynamicProxy(Object subject) { this.subject = subject; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // 在代理真实对象前,可以添加自己的一些操作 System.out.println("before " + method.getName()); // method.invoke(subject, args); // 在代理真实对象后,可以添加自己的一些操作 System.out.println("after " + method.getName()); return null; }}
Client.java
package dynamicproxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Proxy;public class Client { public static void main(String[] args) { // 要代理的真实对象 Subject realSubject = new RealSubject(); InvocationHandler handler = new DynamicProxy(realSubject); Subject subject = (Subject)Proxy.newProxyInstance(handler.getClass().getClassLoader(), realSubject.getClass().getInterfaces(), handler); System.out.println(subject.getClass().getName()); subject.rent(); subject.hello("world"); }}
阅读全文
0 0
- 代理-->静态代理&动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- 动态代理
- linux查看文件的某一行命令
- GO 从入门开始放弃
- java(五)
- Linux下查找文件的命令
- Java初学之代码篇<一>
- 动态代理
- 探究Angular依赖注入对象$injector
- iOS-YHAlertView(自定义AlertView,Swift版)
- QDU首届易途杯大赛-kk与cillyb的荣誉之战
- Java命令行程序构建工具airlift使用之分组(group)
- JS那些事儿(4)-对象
- javabean规范中要求实现Serializable接口,有什么作用?
- Spring MVC 使用SimpleUrlHandlerMapping做映射处理的简单用例
- 激光雷达学习笔记(二)数据读取和显示