Browse Source

Document that ConfigurationProperties can't use SpEL

Closes gh-1768
pull/3948/merge
Stephane Nicoll 11 years ago
parent
commit
06c78a41cd
  1. 3
      spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
  2. 3
      spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationProperties.java

3
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc

@ -634,6 +634,9 @@ Nested POJO properties can also be created (so a setter is not mandatory) if the @@ -634,6 +634,9 @@ Nested POJO properties can also be created (so a setter is not mandatory) if the
default constructor, or a constructor accepting a single value that can be coerced from
String. Some people use Project Lombok to add getters and setters automatically.
TIP: Contrary to `@Value`, SpEL expressions are not evaluated prior to injecting a value
in the relevant `@ConfigurationProperties` bean as said value is usually externalized.
The `@EnableConfigurationProperties` annotation is automatically applied to your project
so that any beans annotated with `@ConfigurationProperties` will be configured from the
`Environment` properties. This style of configuration works particularly well with the

3
spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationProperties.java

@ -26,6 +26,9 @@ import java.lang.annotation.Target; @@ -26,6 +26,9 @@ import java.lang.annotation.Target;
* Annotation for externalized configuration. Add this to a class definition or a
* {@code @Bean} method in a {@code @Configuration} class if you want to bind and validate
* some external Properties (e.g. from a .properties file).
* <p>
* Note that contrary to {@code @Value}, SpEL expressions are not evaluated since property
* values are externalized.
*
* @author Dave Syer
* @see ConfigurationPropertiesBindingPostProcessor

Loading…
Cancel
Save