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 efe3d28867b..4286820b288 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 @@ -709,22 +709,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.