diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index 028d0736cd3..a44fb25409e 100644 --- a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -596,13 +596,18 @@ in a similar manner as the `ConnectionSettings` example above. [[boot-features-external-config-relaxed-binding]] -==== Relaxed binding +==== Relaxed binding (Properties format) Spring Boot uses some relaxed rules for binding `Environment` properties to `@ConfigurationProperties` beans, so there doesn't need to be an exact match between the `Environment` property name and the bean property name. Common examples where this is useful include underscore separated (e.g. `context_path` binds to `contextPath`), and capitalized (e.g. `PORT` binds to `port`) environment properties. +NOTE: Environment variables are usually underscore-separated and upper case so you can +just use that and Spring Boot will bind it to your bean property names accordingly. For +instance `MY_PROPERTY` will match just the same as `myProperty`, `my_property` or +`my-property`. + Spring will attempt to coerce the external application properties to the right type when it binds to the `@ConfigurationProperties` beans. If you need custom type conversion you can provide a `ConversionService` bean (with bean id `conversionService`) or custom