Skip to content

Commit

Permalink
Remove old documentation relating to yaml and profiles
Browse files Browse the repository at this point in the history
  • Loading branch information
friscoMad authored and mbhave committed Feb 17, 2021
1 parent dea9b7f commit 93f822e
Showing 1 changed file with 2 additions and 29 deletions.
Expand Up @@ -984,7 +984,8 @@ The `SpringApplication` class automatically supports YAML as an alternative to p

NOTE: If you use "`Starters`", SnakeYAML is automatically provided by `spring-boot-starter`.


WARNING: YAML files cannot be loaded by using the `@PropertySource` or `@TestPropertySource` annotations.
So, in the case that you need to load values that way, you need to use a properties file.

==== Mapping YAML to Properties
YAML documents need to be converted from their hierarchical format to a flat structure that can be used with the Spring `Environment`.
Expand Down Expand Up @@ -1045,34 +1046,6 @@ The `YamlPropertiesFactoryBean` loads YAML as `Properties` and the `YamlMapFacto
You can also use the `YamlPropertySourceLoader` class if you want to load YAML as a Spring `PropertySource`.



[[boot-features-external-config-yaml-shortcomings]]
==== YAML Shortcomings
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-document YAML syntax in profile-specific YAML files can lead to unexpected behavior.
For example, consider the following config in a file:

.application-dev.yml
[source,yaml,indent=0]
----
server.port: 8000
---
spring.config.activate.on-profile: "!test"
mypassword: "secret"
----

If you run the application with the argument `--spring.profiles.active=dev` you might expect `mypassword` 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.



[[boot-features-external-config-random-values]]
=== Configuring Random Values
The `RandomValuePropertySource` is useful for injecting random values (for example, into secrets or test cases).
Expand Down

0 comments on commit 93f822e

Please sign in to comment.