Mention environment variables mapping in the guide

Closes gh-2234
This commit is contained in:
Stephane Nicoll 2014-12-27 18:28:13 +01:00
parent 96d479c3d9
commit 05e402295d
1 changed files with 6 additions and 1 deletions

View File

@ -543,13 +543,18 @@ definitions by simply listing the properties classes directly in the
[[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