Spring Boot 应用程序的默认 TransactionManager 实现是什么?

What is the default TransactionManager implementation for a Spring Boot application?

当 Spring 数据作为依赖项添加到 Spring 引导项目时,TransactionManager 的哪个实现默认可用?

我也有同样的问题。通过 Spring-Boot 挖掘后,我发现了以下内容 org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration#transactionManager (Spring Boot version 2.6.4)

  @Bean
    @ConditionalOnMissingBean({TransactionManager.class})
    public PlatformTransactionManager transactionManager(ObjectProvider<TransactionManagerCustomizers> transactionManagerCustomizers) {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManagerCustomizers.ifAvailable((customizers) -> {
            customizers.customize(transactionManager);
        });
        return transactionManager;
    }

因此,如果您尚未定义 TransactionManager,则默认值为 JpaTransactionManager