spring-boot @EnableConfigurationProperties与@ConfigurationProperties的关系

1.@ConfigurationProperties 单独使用时仅代表将配置文件中的实行指定给当前类  需要配合@Coment才会配注入到ioc中

2.@EnableConfigurationProperties 当该中需要注入由@ConfigurationProperties配置的bean时 如果该Bean还没有注入ioc中 可以通过

@Configuration
@ConditionalOnClass(KiteService.class)
@EnableConfigurationProperties(KiteProperties.class)
@Slf4j
public class KiteAutoConfigure {

    @Autowired
    private KiteProperties kiteProperties;

    @Bean
    @ConditionalOnMissingBean(KiteService.class)
    @ConditionalOnProperty(prefix = "kite.example",value = "enabled", havingValue = "true")
    KiteService kiteService(){
        return new KiteService(kiteProperties);
    }
}

  

@Data
@ConfigurationProperties("kite.example")
public class KiteProperties {

    private String host;

    private int port;
}

  

posted @ 2021-01-20 11:19  不知无畏  阅读(254)  评论(0)    收藏  举报