动态代理--cglib
2019独角兽企业重金招聘Python工程师标准>>>
1、具体实现类,没有实现接口
package com.lx.proxy;public class Student {public void study() {System.out.println("day day up !");}
}
2、使用cglib动态代理,创建代理类
package com.lx.proxy;import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;import java.lang.reflect.Method;public class StudentProxyCglib implements MethodInterceptor {private Object target;public Object getInstance(Object target) {this.target = target;Enhancer enhancer = new Enhancer();enhancer.setSuperclass(this.target.getClass());// 回调方法enhancer.setCallback(this);// 创建代理对象return enhancer.create();}@Overridepublic Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {System.out.println("before study !");methodProxy.invokeSuper(o,objects);System.out.println("after study !");return null;}
}
3、测试类
package com.lx.proxy;public class ClientCglib {public static void main(String[] args) {StudentProxyCglib cglib=new StudentProxyCglib();Student student=(Student)cglib.getInstance(new Student());student.study();}
}
cglib弥补了JDK动态代理的缺陷,使得没有实现接口的类也可以使用动态代理。
转载于:https://my.oschina.net/kimspan/blog/639851
动态代理--cglib相关推荐
- 03、动态代理--CGLib引入增强
package com.offer.note.Java基础.动态代理.CGLib引入增强;public interface Browser {void visitInternet(); } packa ...
- Java设计模式(五)代理设计模式—静态代理—JDK动态代理—Cglib动态代理
文章目录 什么是代理模式 代理模式应用场景 代理的分类 静态代理 什么是静态代理 深入解析静态代理 小结 动态代理 什么是动态代理 JDK动态代理 原理和实现方式 代码实现 优缺点 Cglib动态代理 ...
- aop实现原理-动态代理CGLib代理
那接下来的话,那咱们Spring当中,这个AOP,咱们先说概念,咱们先不写具体代码,咱们就是聊,聊Spring的AOP,Spring能帮我们干啥呢,我告诉你,Spring他作为对象的容器,Spring ...
- java jdk动态代理 cglib动态代理demo
最近在研究java动态代理这块,以前也看了很多次java动态代理,感觉一直不是怎么明白,这两天看了看又明白了些,现给出我参考网上写的一个demo jdk动态代理实现: View Code import ...
- 静态代理,动态代理,Cglib代理详解
一.静态代理 新建一个接口 定义一个玩家方法: package com."".proxy.staticc;public interface Iplayer { public voi ...
- 动态代理——CGLIB动态代理原理示例解析
觉得可以的话点个关注,转个发呗,陆续奉上干货~~~~ 前文我们讲解了JDK动态代理的原理(动态代理--JDK动态代理原理),今天我们来看看CGLIB动态代理是如何实现,最后我们总结下JDK动态代理和C ...
- Proxy 代理模式 动态代理 CGLIB
代理的基本概念 几个英文单词: proxy [ˈprɒksi] n. 代理服务器:代表权:代理人,代替物:委托书: invoke [ɪnˈvəʊk] vt. 乞灵,祈求:提出或授引-以支持或证明:召鬼 ...
- 你必须会的 JDK 动态代理和 CGLIB 动态代理
来自:ytao 我们在阅读一些 Java 框架的源码时,基本上常会看到使用动态代理机制,它可以无感的对既有代码进行方法的增强,使得代码拥有更好的拓展性.通过从静态代理.JDK 动态代理.CGLIB 动 ...
- 深入理解Java Proxy和CGLIB动态代理原理
点击上方关注,每天进步一点点 动态代理在Java中有着广泛的应用,比如Spring AOP,Hibernate数据查询.测试框架的后端mock.RPC,Java注解对象获取等.静态代理的代理关系在编译 ...
最新文章
- JavaScript arguments对象
- java模拟退火程序
- play版 高德地图google_iOS 12 发布,苹果 CarPlay 终于开始支持谷歌、高德导航
- 每日程序C语言10-欧几里德算法
- 四面体的表面积_为了解释南北两极海陆的分布,科学家提出了一个“四面体”的观点...
- 探索cqrs和事件源_实践中的事件源和CQRS
- 相机标定(1)内\外参矩阵和畸变矩阵
- 数据结构思维 第十一章 `HashMap`
- koa 接口返回数据_node和koa实现数据mock接口
- 二叉树的镜像(剑指 Offer 27)
- python数据结构之动态规划
- 中标麒麟桌面操作系统6.0安装步骤
- MySQL操作命令-学习笔记随时记录
- 为什么Wannacry 勒索病毒加密的部分数据能恢复?
- 小程序:下载图片文件(wx.downloadFile)并保存到手机相册(wx.saveImageToPhotosAlbum)
- 技术人员应该具备的几项基本技能
- 无线投屏没有网络也可以投屏吗?
- 【归并排序】基础代码
- 让你的 wowza 服务器提供 RESTful web 服务
- 热搜第一除了本科生月均5千工资,还告诉了我们什么?