我有一个 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 中的覆盖值。