From 7e60f4b32a7bc6e10d9526345d841b163509c287 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Sat, 31 Aug 2019 08:29:03 -0700 Subject: [PATCH] Clarify "YAML Shortcomings" documentation Closes gh-17933 --- .../src/main/asciidoc/spring-boot-features.adoc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index 8754df8dd2..94665b2763 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -691,22 +691,28 @@ YAML files cannot be loaded by using the `@PropertySource` annotation. So, in the case that you need to load values that way, you need to use a properties file. Using the multi YAML document syntax in profile-specific YAML files can lead to unexpected behavior. -For example, consider the following config in a file called `application-dev.yml`, with the `dev` profile being active: +For example, consider the following config in a file: +.application-dev.yml [source,yaml,indent=0] ---- server: port: 8000 --- spring: - profiles: !test + profiles: "!test" security: user: - password: weak + password: "secret" ---- -In the example above, profile negation and profile expressions will not behave as expected. -We recommend that you don't combine profile-specific YAML files and multiple YAML documents and stick to using only one of them. +If you run the application with the arguments `--spring.profiles.active=dev" you might expect `security.user.password` to be set to "`secret`", but this is not the case. + +The nested document will be filtered because the main file is named `application-dev.yml`. +It is already considered to be profile-specific, and nested documents will be ignored. + +TIP: We recommend that you don't mix profile-specific YAML files and multiple YAML documents. +Stick to using only one of them.