Java的动态代理实现
来源:互联网 发布:传播学就业方向 知乎 编辑:程序博客网 时间:2024/06/07 13:32
- 实现InvocationHandler接口,重写invoke()方法
package proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class MyInvocationHandler implements InvocationHandler { private Object target; public MyInvocationHandler(Object target) { super(); this.target = target; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("---before method----"); Object result = method.invoke(target, args); System.out.println("---after method----"); return result; } public Object getProxy() { return Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), target.getClass().getInterfaces(), this); }}
- 定义接口类,该接口被被代理类和Proxy同时实现
package proxy;public interface UserService { public void add();}
- 实现
package proxy;public class UserServiceImp implements UserService { @Override public void add() { System.out.println("--add---"); }}
- Test
package proxy;public class ProxyTest { public static void main(String [] args) { UserService userService = new UserServiceImp(); MyInvocationHandler myInvocationHandler = new MyInvocationHandler(userService); UserService proxy = (UserService) myInvocationHandler.getProxy(); proxy.add(); }}
阅读全文
0 0
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- java动态代理的实现
- java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- Java动态代理的实现
- 编辑器ueditor和springboot 的整合
- unity-打tag技巧
- ibatis中Could not find SQL statement to include with refid的原因
- 多源最短路径问题
- bzoj 4978: 泛化物品
- Java的动态代理实现
- u盘中的脚本 如何执行
- Android进阶#(2/12)创造丰富多彩的UI——View与动画_必须掌握的最重要的技能,自定义控件
- lucene入门
- POJ3252 数位DP Round Numbers
- MAVEN项目标准目录结构
- 栈的练习题附加
- sql server 存储过程
- linux简单操作