Springboot 2.x下多数据源配置

本文同样适用于2.x版本下Mybatis的多数据源配置

项目中经常会遇到一个项目需要访问多个数据源的情况,多数情况下可以参考这个教程进行配置。

不过该教程适合springboot1.x版本,由于2.x版本修改默认连接池为Hikari,所以该教程中的配置需要进行一些修改才可适用于2.x。

主要不同之处在于DataSource的初始化。

所以可在每个数据源的config中,重新定义DataSource-Bean的初始化方式。

@Bean
@Primary
@ConfigurationProperties("db1.datasource")
public DataSourceProperties firstDataSourceProperties() {
    return new DataSourceProperties();
}

@Primary
@Bean(name = "customerDataSource")
@ConfigurationProperties(prefix = "db1.datasource.configuration")
public HikariDataSource customerDataSource() {
    return firstDataSourceProperties().initializeDataSourceBuilder()
           .type(HikariDataSource.class).build();
}

其他配置参照教程即可。

github地址:springboot2-jpa-hikari-multi-databases