diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConstructorBinding.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConstructorBinding.java index 43c1bd8d09..cbd19bbe4a 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConstructorBinding.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConstructorBinding.java @@ -26,6 +26,14 @@ import java.lang.annotation.Target; * Annotation that can be used to indicate that configuration properties should be bound * using constructor arguments rather than by calling setters. Can be added at the type * level (if there is an unambiguous constructor) or on the actual constructor to use. + *

+ * Note: To use constructor binding the class must be enabled using + * {@link EnableConfigurationProperties @EnableConfigurationProperties} or configuration + * property scanning. Constructor binding cannot be used with beans that are created by + * the regular Spring mechanisms (e.g. + * {@link org.springframework.stereotype.Component @Component} beans, beans created via + * {@link org.springframework.context.annotation.Bean @Bean} methods or beans loaded using + * {@link org.springframework.context.annotation.Import @Import}). * * @author Phillip Webb * @since 2.2.0