前言
上一篇博客讨论了如何配置单数据源, 这一篇博客接着讨论如何配置多数据源。
配置文件
首先需要将数据源的连接字符串写到配置文件中:
1 2 3 4 5 6 7
| springtestdb.datasource.url=jdbc:mysql://127.0.0.1:3306/springboottestdb?serverTimezone=UTC springtestdb.datasource.username=root springtestdb.datasource.password=password
printer.datasource.url=jdbc:mysql://127.0.0.1:3306/printer?serverTimezone=UTC printer.datasource.username=root printer.datasource.password=password
|
配置类
接着写配置类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @Configuration @EnableTransactionManagement @Slf4j public class PrinterDataSource { @Bean @ConfigurationProperties("printer.datasource") public DataSourceProperties printerDataSourceProperties() { return new DataSourceProperties(); }
@Bean(name = "printer") public DataSource printerDataSource() { DataSourceProperties dataSourceProperties = printerDataSourceProperties(); log.info(dataSourceProperties.getUrl()); return dataSourceProperties.initializeDataSourceBuilder().build(); }
@Bean public PlatformTransactionManager printerTransactionManager(DataSource printer) { return new DataSourceTransactionManager(printer); } }
|
这里使用了DataSourceProperties将配置文件中的配置设置到了DataSource中, 这样配置了之后, 其他的数据源的配置也可以像这样配置。