Spring Boot学习笔记(七)多数据源下的事务管理

DataBaseConfig中加入事务管理器

DataBaseConfig的详解以及多数据源的配置参见我的上一篇文章

@Configuration
@MapperScan(basePackages={"com.sc.myboot.dao"},sqlSessionFactoryRef = "MySqlSessionFactory1")
public class DataBaseConfig { @Value("${spring.datasource.type}")
private Class<? extends DataSource> dataSourceType; @Bean(name = "MyDataSource1")
@ConfigurationProperties(prefix = "data2")
public DataSource getDataSource(){
return DataSourceBuilder.create().type(dataSourceType).build();
} @Bean(name = "Data1TransactionManager1")
public DataSourceTransactionManager masterTransactionManager() {
return new DataSourceTransactionManager(getDataSource());
} @Bean(name = "MySqlSessionFactory1")
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("MyDataSource1") DataSource masterDataSource)
throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
return sessionFactory.getObject();
} }

在Service的方法中使用注解@Transactional

Spring Boot学习笔记(七)多数据源下的事务管理

在多数据源编程的情况下一定要配置多事务管理器,即一个数据源对应一个事务管理器

上一篇:Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)


下一篇:java面试题之分析(二)