开发者社区 问答 正文

Spring 代理默认使用标准的jdk动态代理来代理对象,有什么要求吗?

Spring 代理默认使用标准的jdk动态代理来代理对象,有什么要求吗?

展开
收起
真的很搞笑 2021-10-26 21:41:20 538 分享 版权
1 条回答
写回答
取消 提交回答
  • Spring 代理默认使用标准的jdk动态代理来代理对象,要求被代理的对象必须至少实现1个接口。Spring代理也可以用cglib来代理对象,cglib是用来代理class的,而不是代理interface的。我们建议代理对象实现接口,通过jdk动态代理来代理对象。也就是说:被代理的业务对象如果没有实现接口,那么会用cglib动态代理来代理;如果业务对象实现了接口,那么会用jdk动态代理来代理。

    2021-10-26 21:41:54
    赞同 展开评论