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
当 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