我需要在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
)。