java - Spring Boot 配置和使用两个数据源

标签 java spring spring-boot spring-mvc datasource

如何配置和使用两个数据源?

例如,这里是我的第一个数据源:

application.properties

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

#second db ...

应用类

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

如何修改 application.properties 以添加另一个数据源?如何 Autowiring 它以供不同的存储库使用?

最佳答案

给你。

在你的 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();
}

关于java - Spring Boot 配置和使用两个数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337582/

相关文章:

java - 如何升级/更新现有 Selenium Java 项目的 Selenium 版本?

java - 为什么使用 ArrayList 循环创建 ImageView 会导致内存错误?

java - Gif 未显示在 JFrame 中

java - Spring : HttpSession returned null object for SPRING_SECURITY_CONTEXT in Clusterd Tomcat failover

java - Spring 自动创建属性文件

spring-boot - 如何在spring boot的@Value注解中读取变量或连接一个属性

java - 如何使 Spring 的 @Autowired 在 JUnit 5 扩展中工作?

Java - 从第一个父级开始的组路径列表

spring - 在 Spring application.properties 文件中使用表达式

java - 将 Spring Security 移至 Java Config,authentication-success-handler-ref 去哪儿了?