首页 > 编程语言 > 详细

java动态代理之Cglib动态代理

时间:2019-12-05 12:15:08      阅读:78      评论:0      收藏:0      [点我收藏+]

  静态代理和JDK动态代理都有一个前提,那就是被代理类必须实现了接口,否则,这两种代理就不能实现。为了解决这个限制,就出现了Cglib动态代理。一些第三方框架多数都用的是Cglib代理,如spring框架的AOP的实现。

  静态代理和JDK动态代理都是通过实现接口,来生成代理类以扩展目标类的功能。Cglib动态代理由于没有接口可以实现,所以采取了继承目标类来生成代理类以扩展目标类的功能。据我猜测,Cglib动态代理生成的子类应该重写了目标类的方法,以此达到扩展的目的。

  静态代理和JDK动态代理通过实现和目标类的接口,来确保代理类和被目标类拥有相同的方法。Cglib则是通过继承目标类的方法来确保代理类和目标类拥有相同的方法。三种代理都是通过某种“重写”方法的方式来实现目标类功能的扩展。

java动态代理之Cglib动态代理

原文:https://www.cnblogs.com/jxdr/p/11988031.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!