@EnableConfigurationProperties 注解的含义与使用说明

注解Component Controller Service Configuration ConfigurationProperties EnableConfigurationProperties以上注解的关系梳理:

@Component || @Controller || @Service
@Configuration
@ConfigurationProperties
@EnableConfigurationProperties
以上注解的关系梳理:
@Component || @Controller || @Service 用来定义spring的bean。

作用

@EnableConfigurationProperties的作用: 使@ConfigurationProperties 注解的类生效。

正确的bean的属性配置加载

@Data
@Component
@ConfigurationProperties(prefix = "yyzx.properties")
public class AnnotationDesc {
}

错误A bean的属性配置加载

@Data
@ConfigurationProperties(prefix = "yyzx.properties")
public class AnnotationDesc {
  // 该书写方式,属性值注入失败
}

纠正: 错误A bean的属性配置加载

@Data
@ConfigurationProperties(prefix = "yyzx.properties")
public class AnnotationDesc {
  // 该书写方式,属性值注入成功
}
@Slf4j
@Configuration
@EnableConfigurationProperties({
        AnnotationDesc.class,
        YyzxProperties2.class
})
public class SpringBootPlusConfig {

}

结果

如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。
@EnableConfigurationProperties 是把指定类的属性又注入了一次。

原文地址:https://www.cnblogs.com/sjkzy/p/14391331.html