栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDK动态代理和CGLib动态代理的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDK动态代理和CGLib动态代理的区别

  • JDK动态代理,要求目标对象实现一个接口,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候就可以用CGLib动态代理
  • JDK动态代理是自带的,CGlib需要引入第三方包

  • CGLib动态代理,它是在内存中构建一个子类对象从而实现对目标对象功能的扩展
  • CGLib动态代理基于继承来实现代理,所以无法对final类、private方法和static方法实现代理

Spring AOP中的代理使用的默认策略

  • 如果目标对象实现了接口,则默认采用JDK动态代理
  • 如果目标对象没有实现接口,则采用CgLib进行动态代理
  • 如果目标对象实现了接口,程序里面依旧可以指定使用CGlib动态代理
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号