从 Spring 引导中的默认配置文件 yml 中删除密钥
Remove key from default profile yml in Spring Boot
我有一个 Spring 引导 application.yml
文件结构如下:
mapValues:
key1: value1
key2: value2
现在我想 运行 另一个配置文件中的应用程序,其中那些 key/value 应该用 application-profile.yml
中的不同键替换为:
mapValues:
key3: value3
key4: value4
Spring 似乎自动合并了这两个 yml 配置文件并且应用程序看到:
mapValues:
key1: value1
key2: value2
key3: value3
key4: value4
我不想保留 key1
和 key
,而是只保留 key3
和 key4
。如何实现?
您在 application.yml 文件中指定的内容默认为所有配置文件。如果要分离属性,请创建多个 yml 文件,例如 application-dev.yml 和 application-test.yml 并明确指定配置文件,如下所示(通常在 bootstrap.yml)
spring:
profiles:
active: test
设置上述配置文件后,您的应用将只能看到 application.yml 和 application-test.yml 文件中的属性。 application-dev.yml 中的属性将不可用。
我有一个 Spring 引导 application.yml
文件结构如下:
mapValues:
key1: value1
key2: value2
现在我想 运行 另一个配置文件中的应用程序,其中那些 key/value 应该用 application-profile.yml
中的不同键替换为:
mapValues:
key3: value3
key4: value4
Spring 似乎自动合并了这两个 yml 配置文件并且应用程序看到:
mapValues:
key1: value1
key2: value2
key3: value3
key4: value4
我不想保留 key1
和 key
,而是只保留 key3
和 key4
。如何实现?
您在 application.yml 文件中指定的内容默认为所有配置文件。如果要分离属性,请创建多个 yml 文件,例如 application-dev.yml 和 application-test.yml 并明确指定配置文件,如下所示(通常在 bootstrap.yml)
spring:
profiles:
active: test
设置上述配置文件后,您的应用将只能看到 application.yml 和 application-test.yml 文件中的属性。 application-dev.yml 中的属性将不可用。