更多资源访问:代码资源
/**
这里只配置里前缀为spring.datasource.primary
的数据源与事务,
可以配置更多的数据源与事务,方法雷同
建立数据源的方法可以自己调整,比如使用druid等,这里默认会使用springboot的默认数据源
**/
@Configuration
public class PrimaryDatasourceConfig {
@Bean(name = 'primaryDataSource')
@Primary
@Qualifier('primaryDataSource')
@ConfigurationProperties(prefix = 'spring.datasource.primary')
public DataSource getPrimaryDatasource() {
DataSource s = DataSourceBuilder.create().build();
return s;
}
/**
* @param dataSource
* @return
* @Bean明确地指示了一种方法,什么方法呢——产生一个bean的方法 ,
* 并且交给Spring容器管理;从这我们就明白了为啥@Bean是放在方法的注释上了,
* 因为它很明确地告诉被注释的方法,你给我产生一个Bean,然后交给Spring容器,
* 实现依赖注入
*/
@Bean(name = 'primaryJdbcTemplate')
@Primary
public MyJdbcTemplate primaryTemplate(@Qualifier('primaryDataSource') DataSource dataSource) {
return new MyJdbcTemplate(dataSource);
}
/**
指定数据源的事务
*/
@Bean(name = 'transactionManager')
@Primary
public PlatformTransactionManager transcationManager(@Qualifier('primaryDataSource') DataSource dataSource) {
JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
jpaTransactionManager.setDataSource(dataSource);
return jpaTransactionManager;
// return new DataSourceTransactionManager(dataSource);
}
}