龙空技术网

Spring Boot多数据源配置与使用

大墨小汐 1310

前言:

眼前姐妹们对“springboot数据源配置项”可能比较关怀,看官们都需要剖析一些“springboot数据源配置项”的相关资讯。那么小编同时在网摘上汇集了一些有关“springboot数据源配置项””的相关知识,希望看官们能喜欢,大家一起来学习一下吧!

之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面基于之前的JdbcTemplate和Spring-data-jpa例子分别介绍两种多数据源的配置方式。

多数据源配置

创建一个Spring配置类,定义两个DataSource用来读取application.properties中的不同配置。如下例子中,主数据源配置为spring.datasource.primary开头的配置,第二数据源配置为spring.datasource.secondary开头的配置。

对应的application.properties配置如下:

JdbcTemplate支持

对JdbcTemplate的支持比较简单,只需要为其注入对应的datasource即可,如下例子,在创建JdbcTemplate的时候分别注入名为primaryDataSource和secondaryDataSource的数据源来区分不同的JdbcTemplate。

接下来通过测试用例来演示如何使用这两个针对不同数据源的JdbcTemplate。

Spring-data-jpa支持

对于数据源的配置可以沿用上例中DataSourceConfig的实现。

新增对第一数据源的JPA配置,注意两处注释的地方,用于指定数据源对应的Entity实体和Repository定义位置,用@Primary区分主数据源。

新增对第二数据源的JPA配置,内容与第一数据源类似,具体如下:

完成了以上配置之后,主数据源的实体和数据访问对象位于:com.didispace.domain.p,次数据源的实体和数据访问接口位于:com.didispace.domain.s。

分别在这两个package下创建各自的实体和数据访问接口

主数据源下,创建User实体和对应的Repository接口从数据源下,创建Message实体和对应的Repository接口

接下来通过测试用例来验证使用这两个针对不同数据源的配置进行数据操作。

标签: #springboot数据源配置项