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相关推荐

  1. 03、动态代理--CGLib引入增强

    package com.offer.note.Java基础.动态代理.CGLib引入增强;public interface Browser {void visitInternet(); } packa ...

  2. Java设计模式(五)代理设计模式—静态代理—JDK动态代理—Cglib动态代理

    文章目录 什么是代理模式 代理模式应用场景 代理的分类 静态代理 什么是静态代理 深入解析静态代理 小结 动态代理 什么是动态代理 JDK动态代理 原理和实现方式 代码实现 优缺点 Cglib动态代理 ...

  3. aop实现原理-动态代理CGLib代理

    那接下来的话,那咱们Spring当中,这个AOP,咱们先说概念,咱们先不写具体代码,咱们就是聊,聊Spring的AOP,Spring能帮我们干啥呢,我告诉你,Spring他作为对象的容器,Spring ...

  4. java jdk动态代理 cglib动态代理demo

    最近在研究java动态代理这块,以前也看了很多次java动态代理,感觉一直不是怎么明白,这两天看了看又明白了些,现给出我参考网上写的一个demo jdk动态代理实现: View Code import ...

  5. 静态代理,动态代理,Cglib代理详解

    一.静态代理 新建一个接口 定义一个玩家方法: package com."".proxy.staticc;public interface Iplayer { public voi ...

  6. 动态代理——CGLIB动态代理原理示例解析

    觉得可以的话点个关注,转个发呗,陆续奉上干货~~~~ 前文我们讲解了JDK动态代理的原理(动态代理--JDK动态代理原理),今天我们来看看CGLIB动态代理是如何实现,最后我们总结下JDK动态代理和C ...

  7. Proxy 代理模式 动态代理 CGLIB

    代理的基本概念 几个英文单词: proxy [ˈprɒksi] n. 代理服务器:代表权:代理人,代替物:委托书: invoke [ɪnˈvəʊk] vt. 乞灵,祈求:提出或授引-以支持或证明:召鬼 ...

  8. 你必须会的 JDK 动态代理和 CGLIB 动态代理

    来自:ytao 我们在阅读一些 Java 框架的源码时,基本上常会看到使用动态代理机制,它可以无感的对既有代码进行方法的增强,使得代码拥有更好的拓展性.通过从静态代理.JDK 动态代理.CGLIB 动 ...

  9. 深入理解Java Proxy和CGLIB动态代理原理

    点击上方关注,每天进步一点点 动态代理在Java中有着广泛的应用,比如Spring AOP,Hibernate数据查询.测试框架的后端mock.RPC,Java注解对象获取等.静态代理的代理关系在编译 ...

最新文章

  1. JavaScript arguments对象
  2. java模拟退火程序
  3. play版 高德地图google_iOS 12 发布,苹果 CarPlay 终于开始支持谷歌、高德导航
  4. 每日程序C语言10-欧几里德算法
  5. 四面体的表面积_为了解释南北两极海陆的分布,科学家提出了一个“四面体”的观点...
  6. 探索cqrs和事件源_实践中的事件源和CQRS
  7. 相机标定(1)内\外参矩阵和畸变矩阵
  8. 数据结构思维 第十一章 `HashMap`
  9. koa 接口返回数据_node和koa实现数据mock接口
  10. 二叉树的镜像(剑指 Offer 27)
  11. python数据结构之动态规划
  12. 中标麒麟桌面操作系统6.0安装步骤
  13. MySQL操作命令-学习笔记随时记录
  14. 为什么Wannacry 勒索病毒加密的部分数据能恢复?
  15. 小程序:下载图片文件(wx.downloadFile)并保存到手机相册(wx.saveImageToPhotosAlbum)
  16. 技术人员应该具备的几项基本技能
  17. 无线投屏没有网络也可以投屏吗?
  18. 【归并排序】基础代码
  19. 让你的 wowza 服务器提供 RESTful web 服务
  20. 热搜第一除了本科生月均5千工资,还告诉了我们什么?

热门文章

  1. Junit 3 与 Junit 4写法
  2. Apache Mahout中推荐算法Slope one源码分析
  3. DaemonSet 典型应用场景 - 每天5分钟玩转 Docker 容器技术(129)
  4. android—label窗口——基础编
  5. 集中化监控SQL Server数据库
  6. 做程序猿的老婆应该注意的一些事情
  7. javascript函数、对象及变量、正则表达式(7.19)
  8. linux 第十五章 shell 脚本习题
  9. 工程路径网站图片路径的问题 绝对路径
  10. shell中的for循环语句