【问题标题】:Spring proxy default implSpring代理默认实现
【发布时间】:2021-12-07 10:12:11
【问题描述】:

我想我对 Spring 如何使用带有 @Transactional 注释的代理概念有一个很好的了解,但我找不到任何关于“默认”实现的信息。基本上我正在寻找的是包装原始方法调用的代码(来自包装对象的方法)。

【问题讨论】:

    标签: spring spring-transactions cglib


    【解决方案1】:

    没有默认实现这样的东西,因为它完全取决于实现您添加@Transactional 注解的方法的类。 如果该类继承自接口,则将使用 JDK Dynamic Proxy。 如果没有,那么将使用一个名为 CGLIB 的外部库来创建代理。 动态代理将创建一个代理来实现您的目标类也实现的所有接口,而 CGLIB 将创建一个扩展您的目标类的代理。

    还请务必阅读此SO question,了解动态代理和 CGLIB 代理之间的区别,因为它也包含有价值的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多