JAVA——动态代理
来源:互联网 发布:侠义 知乎 编辑:程序博客网 时间:2024/06/03 17:07
package test;public interface Jisuan {int add(int a,int b);int mul(int a,int b);}
package test;public class JisuanImp implements Jisuan{@Overridepublic int add(int a, int b) {// TODO Auto-generated method stubreturn a+b;}public int mul(int a, int b) {return a*b;};}
package test;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class test {public static void main(String[] args) {//需要创建一个被代理对象Jisuan jisuan=new JisuanImp();//创建代理对象 Proxy.newProxyInstance传入三个参数 1.被代理对象的类加载器 2.被代理对象所实现的接口 3.匿名内部类InvocationHandlerJisuan proxy=(Jisuan) Proxy.newProxyInstance(jisuan.getClass().getClassLoader(), jisuan.getClass().getInterfaces(), new InvocationHandler() {@Override//proxy:代理对象 ,method:正在被调用的方法 ,args:调用方法时传入的参数public Object invoke(Object proxy, Method method, Object[] args)throws Throwable {System.out.println("现在执行的是"+method.getName()+"方法");//调用被代理类的目标方法 注意第一个参数一定是被代理类对象 不能是proxy!!!Object res=method.invoke(jisuan, args);return res;}});int res=proxy.add(3, 5);System.out.println(res);}}
打印输出:
现在执行的是add方法
8
阅读全文
0 0
- java代理模式——动态代理
- Java——动态代理
- java——动态代理
- JAVA——动态代理
- Java反射—动态代理
- Java代理——静态代理和动态代理
- 代理模式(静态代理+动态代理)——JAVA
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理二——CGLIB动态代理应用
- Java动态代理学习1——静态代理
- java代理Demo——JDK动态代理
- Java动态代理学习1——静态代理
- react 组件通信
- hadoop namenode启动失败
- Json转pojo或转List, pojo转json
- 挑战程序设计竞赛2 算法和数据结构 读后感
- TeraTerm Language 帮助文档1-[如何运行]
- JAVA——动态代理
- SpringMVC和Struts2中拦截器实现思路思想
- 问题 G: 整数转字符串
- Java操作符
- HDOJ 2016 数据的交换输出
- 图片验证码
- 把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1
- Django模型字段常用的类型
- TensorFlow入门教程