动态代理的使用
来源:互联网 发布:淘宝详情视频怎么制作 编辑:程序博客网 时间:2024/05/20 19:48
package com.tt;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;//动态代理的使用interface Subject{ void action();}//被代理类class RealSubject implements Subject{ @Override public void action() { System.out.println("我是被代理类。。。。。。"); }}//代理类class MyInvocationHandler implements InvocationHandler{ Object obj;//可以理解为实现了接口的被代理类的对象声明 /** * 1.给被代理类的对象进行实例化 * 2.返回一个代理类的对象 * @param obj * @return */ public Object blind(Object obj){ this.obj=obj; //obj.getClass().getClassLoader():对被代理的类进行加载 //obj.getClass().getInterfaces():获取被代理类所实现的接口 //this:实现了InvocationHandler接口的对象 return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj.getClass().getInterfaces(),this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object returnVal=method.invoke(obj, args); return returnVal; }}public class TestProxy { public static void main(String[] args) { //被代理对象 RealSubject real=new RealSubject(); //创建一个实现了InvocationHandler接口的类的对象 MyInvocationHandler handler=new MyInvocationHandler(); //调用blind()方法,动态的返回一个同样实现了real所在类实现的接口的代理类对象 Object obj=handler.blind(real); Subject sub=(Subject)obj;//些时sub就是代理类的对象 sub.action();//转到对InvocationHandler接口的实现类的invoke()方法的调用 }}
0 0
- 动态代理的使用
- castle动态代理的使用
- java动态代理的使用
- invocationHandler动态代理的使用
- ServletAOP动态代理的使用
- java:动态代理的使用
- [转]JAVA动态代理的使用
- CGlib的动态代理使用示例
- 初探Spring之动态代理的使用
- 网络爬虫—动态代理的使用
- Java中动态代理的使用
- java动态代理与cglib代理的简单使用
- 使用动态代理,提高工作效率
- Spring动态代理使用
- 为何使用动态代理
- 动态代理使用
- Java动态代理使用
- 使用 JDK 动态代理
- LeetCode 简单操作 | 169. Majority Element
- SuperWebClient -一个基于CURL的.NET HTTP-HTTPS模拟神组件(1)
- ElasticSearch2.x安装bigdesk插件解决bigdesk报错
- MySql之表记录操作(查询)
- rdd持久化
- 动态代理的使用
- JS实现可编辑的表格
- 基于DragonBoard 410c的遥控炮台二之舵机驱动(下)
- Device Tree(三):代码分析
- Hibernate的检索方式(上)
- Android程序员学PHP开发(31)-ThinkPHP5.0(3)多级命名空间-PhpStorm
- 怎么在微信公众号使用ASP.net开发自定义菜单
- 陆金所8.4%投资项目真实收益计算
- Javascript定时器的使用