【发布时间】:2021-09-28 11:31:57
【问题描述】:
我知道 Spring AOP 使用 JDK 动态代理和 CGLIB。
当目标实现接口时 -> JDK动态代理
else -> CGLIB。
如您所见,为什么在过去的版本中会出现这个原因,CGLIB 目前已经解决了所有缺点,并且在性能方面优于 JDK 方法。
为什么你仍然使用 JDK 作为实现接口的目标呢?使所有目标CGLIB似乎更有优势。
【问题讨论】:
-
你是通过官方文档中的Spring AOP Capabilities and Goals和Choosing which AOP Declaration Style to Use吗?可能,这些应该给你一些指示
-
我都读过。两篇文章都没有解释为什么接口使用 JDK 而不是 CGLIB。
-
我想我第一次没有正确回答您的问题。这个 SO Q&A 提供了很多关于这个主题的见解。
标签: proxy aop spring-aop cglib