monica10617
陪公主读书
2018-10-09 13:13
采纳率: 100%
浏览 1.8k
已采纳

如何理解[spring会自动在JDK动态代理和CGLIB之间转换]?

我们都指定spring的动态代理有两种方式,分别是jdk代理和cglib代理,spring动态代理的策略是:

1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP
2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP
3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换。

当一个对象没有接口的时候,只能用cglib啊,为什么spring还能自动切换呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • Mr_Huang_ning
    Mr_Huang_ning 2018-10-10 01:32
    已采纳

    这不就是自动切换吗?它判断目标对象是否实现了接口,实现了就用JDK没实现就用cglib,这不正是自动切换吗?你是不是有误解

    点赞 评论

相关推荐