【发布时间】:2021-03-06 19:53:49
【问题描述】:
我有一个 Spring Boot 项目,该项目依赖于第 3 方 SDK 库之一,其中包含一个带有一些谷歌云 URL 的 YAML 文件。
我想在我的 YAML 中覆盖这些值,这适用于我的大部分项目,但由于某种原因,这个特殊的依赖库没有运气。
依赖代码
@ConfigurationProperties("google")
public class GoogleProperties {
String url;
..
..
}
Yaml 文件 application-google-prod.yaml
google:
url: some url.
假设这是在一个名为 google-client-sdk-1.0.0
的 jar 中我的代码
Yaml 文件 application-myapp-prod.yaml
spring:
profiles:
include: google-prod
google:
url: OVERRIDE url.
所以我希望在调用 lib 中的代码时应该使用 OVERRIDE url,但它会继续使用 jar 文件的 yaml 中的一些 url。
任何指针?
编辑
SDK 包含另一个类 SDK 中带有以下注解的类
@Configuation
@PropertySource({"classpath:application-google-prod.yaml})
我认为这会迫使 SDK 从特定 YAML 中选择值,而忽略我的应用中 YAML 中被覆盖的值。
【问题讨论】:
标签: spring spring-boot configurationproperties