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

时间:2025-03-18 07:24:30

待续: 书写完整的错误栈

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

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

正确的bean的属性配置加载

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

错误A bean的属性配置加载

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

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

@Data
@ConfigurationProperties(prefix = "")
public class AnnotationDesc {
  // 该书写方式,属性值注入成功
}

@Slf4j
@Configuration
@EnableConfigurationProperties({
        AnnotationDesc.class,
        YyzxProperties2.class
})
public class SpringBootPlusConfig {

}

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

相关文章