如何在BeanPostProcessor中使用带有@ConfigurationProperties的属性

时间:2018-06-14 05:50:19

标签: spring spring-boot spring-config

我需要在BeanPostProcessor中处理一些bean并需要一些配置属性。

所以我定义了一个配置:

@Configuration
@EnableConfigurationProperties(SomeProperties.class)
public class SomeAutoConfiguration {

    @Bean
    public SomeBeanPostProcessor serviceAnnotationBeanPostProcessor(SomeProperties properties) {
        return new SomeBeanPostProcessor(properties);
    }
}

但是,我发现application.yml定义的配置在SomeProperties中不起作用,因为@ConfigurationProperties是通过ConfigurationPropertiesBindingPostProcessor配置的,SomeBeanPostProcessor导致{ {1}}要在之前初始化,以便SomeProperties尚未初始化。

我想知道如何避免这个问题。也许通过修改bean依赖关系,加载顺序或通过其他方法动态加载属性(但尝试使用ConfigurationPropertiesBindingPostProcessor而不是SomeProperties)。

0 个答案:

没有答案