一 自动配置的事务管理器
1 说明
在使用JDBC作为数据访问技术的时候,Spring Boot为我们定义了PlatformTransactionManager的实现DataSourceTransactionManager的Bean。
在使用JPA作为数据库访问技术的时候,Spring Boot为我们定义了PlatformTransactionManager的实现JpaBaseConfiguration的Bean。
2 源码
//JDBC事务配置的源码
@Configuration
@ConditionalOnClass({ JdbcTemplate.class, PlatformTransactionManager.class })
@AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
public class DataSourceTransactionManagerAutoConfiguration {
@Autowired(required = false)
private DataSource dataSource;
@Bean
@ConditionalOnMissingBean(PlatformTransactionManager.class)
@ConditionalOnBean(DataSource.class)
public DataSourceTransactionManager transactionManager() {
return new DataSourceTransactionManager(this.dataSource);
}
@ConditionalOnMissingBean(AbstractTransactionManagementConfiguration.class)
@Configur