java - 连接多个数据库
问题描述
我想将我的应用程序与 2 个不同的数据库连接起来。这是我尝试过的:
public class DataSourceWilaConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="spring.wila")
public DataSource wila() {
return DataSourceBuilder.create().build();
}
}
public class DataSourceWaldConfig {
@Bean
@ConfigurationProperties(prefix = "spring.wald")
public DataSource wald() {
return DataSourceBuilder.create().build();
}
}
所以在 application.properties 我添加了:
spring.datasource.url=
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.username=
spring.datasource.password=
spring.wald.datasource.url=
spring.wald.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.wald.datasource.username=
spring.wald.datasource.password=
但 Intellij 告诉我:无法解析配置属性“spring.wald.datasource.url”
我究竟做错了什么?
解决方案
DataSource
您可以 return代替return DataSourceProperties
,例如:
@Configuration
@EnableConfigurationProperties
public class DataSourceWaldConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.wald")
public DataSourceProperties dataSourceProperties() {
return new DataSourceProperties();
}
}
@Configuration
@EnableConfigurationProperties
public class DataSourceWilaConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource.wila")
public DataSourceProperties wila() {
return new DataSourceProperties();
}
}
此外,依赖项spring-boot-configuration-processor
将是必需的。
重要提示:完成后,您应该重建您的项目。
推荐阅读
- reactjs - How to not remap array on state change, but only render what is changed?
- python - 使用 Google 附近的地方 pagetoken?
- javascript - 如何使用 Typescript 在 Parse 服务器中获取扩展用户的类型化嵌套对象?
- jboss - 更改 JBPM Web 客户端中的网站图标
- kotlin - Compose beta01 - java.lang.IllegalStateException: 尝试实现组两次
- java - 无法使用 spring ClassPathScanningCandidateComponentProvider 返回所有标有特定注释的类
- python - 如何在 Pandas 中过滤掉具有特定值的行后创建数据帧的反转
- sql-server - MSSQL BCP 链接服务器
- jquery - 在使用区填充块之前添加一个空值,等等使用 Ajax
- bash - 如何使用 bash 在 docker 容器中获取僵尸进程