版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andy_zhang2007/article/details/90286737
@EnableConfigurationProperties是Spring Boot提供的一个注解,使用该注解用于启用应用对另外一个注解@ConfigurationProperties的支持。使用注解@ConfigurationProperties的bean可以通过标准方式注册到容器,比如使用注解@Bean;也可以使用该注解注册到容器,如下用法所示 :
@EnableConfigurationProperties(SecurityProperties.class) //... public class SecurityAutoConfiguration { // ... } EnableConfigurationProperties只定义了一个value属性,用于设置一组使用了注解@ConfigurationProperties 的类,用于作为 bean 定义注册到容器中。
EnableConfigurationProperties完成配置属性bean注册的具体任务是委托给了所导入的类EnableConfigurationPropertiesImportSelector来完成的。
源代码
源代码版本 : 5.1.4.RELEASE
package org.springframework.boot.context.properties; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(EnableConfigurationPropertiesImportSelector.class) public @interface EnableConfigurationProperties { /** * Convenient way to quickly register ConfigurationProperties annotated beans * with Spring. Standard Spring Beans will also be scanned regardless of this value. * 返回一组使用了注解 @ConfigurationProperties 的 bean, 用于作为 bean 定义注册到容器中。 * 注意 : 不管这里设置了什么值,容器在相关bean上标准的Spring Bean扫描注册机制还是会正常进行。 * @return ConfigurationProperties annotated beans to register */ Class<?>[] value() default {}; } 文章来源: https://blog.csdn.net/andy_zhang2007/article/details/90286737