从Spring Boot中的默认配置文件yml中删除密钥

时间:2018-03-28 18:30:58

标签: java spring spring-boot configuration-files

我有一个Spring Boot application.yml文件结构为:

mapValues:
    key1: value1
    key2: value2

现在我想在另一个配置文件中运行该应用程序,其中这些键/值应该被application-profile.yml中的不同键替换为:

mapValues:
    key3: value3
    key4: value4

Spring似乎自动合并这两个yml配置文件,应用程序看到:

mapValues:
    key1: value1
    key2: value2
    key3: value3
    key4: value4

我不想保留key1key,而只是保留key3key4。怎么能实现这一目标?

1 个答案:

答案 0 :(得分:0)

您在application.yml文件中指定的内容默认为所有配置文件。如果要分离属性,请创建多个yml文件,例如application-dev.yml和application-test.yml,并明确指定配置文件,如下所示(通常在bootstrap.yml中)

spring:
  profiles:
    active: test

使用上面的配置文件集,您的应用程序将仅在application.yml和application-test.yml文件中看到属性。 application-dev.yml中的属性将不可用。