|
|
|
@ -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
|
|
|
|
|