【发布时间】:2021-03-12 12:35:12
【问题描述】:
我想将我的应用程序与 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”
我做错了什么?
【问题讨论】:
-
我确实注意到您的属性看起来有问题。我假设您希望第一个阅读 spring.wila.datasource.url 而不是 spring.datasource.url
-
@AlexanderKatsenelenbogen
spring.wila.datasource.url被设置为主要,所以spring.datasource.url应该是好的。我得到的警告只与spring.wald.datasource.url有关。 -
将 spring.wald.xxx 更改为 wald.xxx 可能会有所帮助(在您的 application.properties 和前缀中,因为上下文 spring.xx 通常不包括 spring.wald。跨度>
-
@Proseller 在这种情况下,你能安全地从那个特定的 bean 中删除 '@ConfigurationProperties' 吗? (我知道警告是针对 wald 的。另一个对我来说看起来有点可疑)
-
正如其他人已经告诉您的那样,您应该将 spring.datasource.* 更改为 spring.wila.datasource.*。 IntelliJ 的警告只是告诉您它不知道您自己的属性。请阅读此baeldung.com/…
标签: java spring-boot intellij-idea