java代理 InvocationHandler接口实现
来源:互联网 发布:js点击改变display 编辑:程序博客网 时间:2024/05/16 01:03
1 Person接口,人,在唱歌。
package com.myproxy;public interface Person {public void song();}
2 Person的实现类
package com.myproxy;public class PersonImpl implements Person {@Overridepublic void song() {System.out.println("person song!");}}
3 需要调用的方法
package com.myproxy;public class Util {public void dog() {System.out.println("Dog song!");}public void cat() {System.out.println("Cat song!");}}
4 实现InvocationHandler
package com.myproxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;public class MyInvocationHandler implements InvocationHandler {private Object target;public void setTarget(Object target) {this.target = target;}@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {Util util = new Util();util.cat();Object invoke = method.invoke(target, args);util.dog();return invoke;}}
5 写一个获取代理对象的工厂
package com.myproxy;import java.lang.reflect.Proxy;public class ProxyFactory {public Object getProxy(Object target) {MyInvocationHandler h = new MyInvocationHandler();h.setTarget(target);return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), h);}}
6 测试
package com.myproxy;public class TestProxy {public static void main(String[] args) {Person target = new PersonImpl();ProxyFactory factory = new ProxyFactory();Person person = (Person) factory.getProxy(target);person.song();}}
0 0
- java代理 InvocationHandler接口实现
- Java动态代理实现接口invocationHandler
- JAVA动态代理之:接口InvocationHandler
- java中InvocationHandler 用于实现代理。
- java中InvocationHandler 用于实现代理
- java中InvocationHandler 用于实现代理
- JAVA动态代理实现 Proxy InvocationHandler
- java中InvocationHandler 用于实现代理。
- Java动态代理借助Proxy与InvocationHandler实现
- java动态代理实现Proxy和InvocationHandler cglib
- Java 基于JDK中的InvocationHandler实现动态代理
- java动态代理-InvocationHandler Proxy
- Java动态代理InvocationHandler+Proxy
- java代理(AOP) InvocationHandler
- 动态代理模式(抽象角色用接口形式,代理角色必须实现InvocationHandler)
- 使用java.lang.reflect.Proxy和InvocationHandler创建动态代理(仅代理接口)
- java.lang.reflect.InvocationHandler 接口
- 【引用】模拟JDK实现动态代理(自写Proxy类和InvocationHandler接口)
- cpp语言预编译语句define浅谈
- 使用jquery操作session方法分享
- 五大常用算法之一:分治算法
- OGG的REP进程对主键列加1的处理
- UITextField的return按钮灰色
- java代理 InvocationHandler接口实现
- 在场景中添加多个图层
- C#执行Javascript代码的几种方法总结
- Nginx详细配置
- 五大常用算法之三:贪心算法
- 简易晶体管测试仪的设计
- bzoj3211.花神游历各国(线段树)
- 学习日志
- 五大常用算法之五:分支限界法