我正在将一个旧的Sping Boot 应用程序从2.3.5.RELEASE迁移到版本3.1.2,并尝试更新一个使用配置文件格式的模块,以与Spring Boot 2.4中引入的新配置文件激活机制保持一致。以前,我使用spring.profiles根据活动配置文件激活不同的配置。但是,在新版本中,Spring.config.activate.on-profile似乎是推荐的方法。
下面是我的原始配置文件(src/test/resources/example/auto-loaded/config-file.yaml)的一段摘录:
auto-loaded:
yaml-config-file:
yaml-config-file-property: default value
---
spring:
profiles: some-env
auto-loaded:
yaml-config-file:
yaml-config-file-property: value for some-env
---
spring:
profiles: some-other-env
auto-loaded:
yaml-config-file:
yaml-config-file-property: value for some-other-env
some-other-env-property: expected not to be loaded
字符串
我尝试将其迁移到新格式,如下所示:
auto-loaded:
yaml-config-file:
yaml-config-file-property: default value
---
spring:
config:
activate:
on-profile: some-env
auto-loaded:
yaml-config-file:
yaml-config-file-property: value for some-env
---
spring:
config:
activate:
on-profile: some-other-env
auto-loaded:
yaml-config-file:
yaml-config-file-property: value for some-other-env
some-other-env-property: expected not to be loaded
型
更新配置文件后,在激活配置文件some-env和some-other-env时,我没有看到预期的行为。这些属性似乎没有像迁移前那样被加载或覆盖。
以下是我的问题:
根据Sping Boot 3中的新配置文件激活机制,我更新的配置文件格式是否正确?是否需要其他步骤来确保正确加载和应用特定于配置文件的配置?更多详细信息可在此处https://github.com/negadras/config-properties(测试类DefaultConfigLoaderTest和DefaultConfigLoaderWithProfileTest)找到
1条答案
按热度按时间ruoxqz4g1#
在这种情况下,您应该使用
字符串
您可以在文档中找到有关它的详细信息
关于
型
此外,文档中描述了您需要的所有内容(可用于将配置文件段标记为特定于概要文件)。