【发布时间】:2021-07-17 00:47:54
【问题描述】:
我想在我的 Springboot 应用程序中使用两个 (Mysql) 数据库。按照说明我使用以下配置
app.properties
spring.datasource.url = jdbc:mysql://localhost:3306/db1?createDatabaseIfNotExist=true&autoReconnect=true
spring.datasource.username = root
spring.datasource.password = password
spring.seconddatasource.url = jdbc:mysql://localhost:3306/db2?createDatabaseIfNotExist=true&autoReconnect=true
spring.seconddatasource.username = root
spring.seconddatasource.password = password
DataSourceConfig.java
@Configuration
public class DataSourceConfig {
@Bean("dataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create()
.type(DriverManagerDataSource.class)
.build();
}
@Bean("secondDataSource")
@ConfigurationProperties(prefix = "spring.seconddatasource")
public DataSource secondDataSource() {
return DataSourceBuilder.create()
.type(DriverManagerDataSource.class)
.build();
}
}
应用程序启动时没有错误,但只创建了第一个数据库(或标记为主要的任何数据源 bean)。为什么不是第二个?
编辑:
一旦我手动创建了第二个数据库,应用程序就可以很好地连接到它们。导致问题的只是非主数据库的自动创建。
【问题讨论】:
标签: mysql spring spring-boot datasource