Spring Boot 配置2个数据源

本文介绍了如何在Spring Boot应用中配置和管理两个数据源。首先提出了问题,即如何在Spring Boot中添加第二个数据源。接着提供了解决方案,包括在`application.properties`中配置额外的数据源,并在@Configuration注解的类中定义数据源bean。同时,文章提到了如何注入不同的数据源到JPARepository,并建议参考其他资源以了解更多关于Spring Boot处理多个数据库的细节。
摘要由CSDN通过智能技术生成

Spring Boot 配置2个数据源

原文链接:https://stackoverflow.com/questions/30337582/spring-boot-configure-and-use-two-datasources

问题描述

我该如何使用spring boot配置2个数据源?
下面的例子是我的第一个数据源配置:
application.properties

#first db
spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = oracle.jdbc.OracleDriver

#second db ...

Application class

@SpringBootApplication
public class SampleApplication
{
    public static void main(String[] args) {
        SpringApplication.run(SampleApplication.class, args);
    }
}

我该如何修改application.properties文件使得我能够添加另一个数据源?
我该如何注入数据源,给不同的repository使用呢?

答案


就像这样。
添加到你的application.properties文件中:

#first db
spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = oracle.jdbc.OracleDriver

#second db ...
spring.secondDatasource.url = [url]
spring.secondDatasource.username = [username]
spring.secondDatasource.password = [password]
spring.secondDatasource.driverClassName = oracle.jdbc.OracleDriver

在任意带有@Configuration的注解类中添加以下方法:

@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
    return DataSourceBuilder.create().build();
}

@Bean
@ConfigurationProperties(prefix="spring.secondDatasource")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}

评论


  • 看一下这个链接https://www.baeldung.com/spring-data-jpa-multiple-databases,这里描述了同样的你在找的东西。
  • 有时候你需要指定datasource, transactionManager, and SqlSessionFactory这3者都为primary。
  • 好的,但是我有2个不同的JPARepositories – Spring Boot怎么知道使用哪一个数据源呢?每个JPARepository都要使用不同的数据库。
  • 这篇博客可能是你要找的https://www.javadevjournal.com/spring-boot/multiple-data-sources-with-spring-boot/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值