【附源码】Spring Boot实战系列——一、配置内存数据库H2
【附源码】Spring Boot实战系列——二、配置多个数据源(H2数据库)
【附源码】Spring Boot实战系列——三、配置多个数据源(Mysql数据库)
【附源码】Spring Boot实战系列——四、日志管理
【附源码】Spring Boot实战系列——五、事务抽象
【附源码】Spring Boot实战系列——六、货币存数据库的处理
引入H2依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
代码结构
添加目录dataSourceConfig,再在目录下添加两个数据源的配置文件BarConfig、FooConfig
数据源配置文件
- 获取数据源配置信息
- 根据配置信息,生成数据源
- 根据数据源设置事务管理
BarConfig.java
@Slf4j
@Configuration
public class BarConfig {
@Bean
@ConfigurationProperties("bar.datasource")
public DataSourceProperties barDatasourceProperties(){
return new DataSourceProperties();
}
@Bean
public DataSource barDataSource(){
DataSourceProperties dataSourceProperties = barDatasourceProperties();
log.info("bar datasource: {}", dataSourceProperties.getUrl());
return dataSourceProperties.initializeDataSourceBuilder().build();
}
@Bean
@Resource
public PlatformTransactionManager barTxManager(DataSource barDataSource){
return new DataSourceTransactionManager(barDataSource);
}
排除自动配置
- 排除数据源的自动配置
- 排除数据源事务管理的自动配置
- 排除JdbcTemplate的自动配置
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
JdbcTemplateAutoConfiguration.class
})