sam*_*ime 4 java spring kotlin spring-boot
我正在尝试创建一些可以根据可配置属性(fromapplication.yml等)自动创建 bean 的东西。
因为我不能像往常一样访问属性组件BeanFactoryPostProcessor,所以我有点困惑如何访问它们。
如何访问 中的应用程序属性BeanFactoryPostProcessor?
如果您想以类型安全的方式访问属性,BeanFactoryPostProcessor您需要Environment使用BinderAPI从您自己绑定它们。这本质上是 Boot 本身为支持@ConfigurationPropertiesbean所做的。
你BeanFactoryPostProcessor会看起来像这样:
@Bean
public static BeanFactoryPostProcessor beanFactoryPostProcessor(
Environment environment) {
return new BeanFactoryPostProcessor() {
@Override
public void postProcessBeanFactory(
ConfigurableListableBeanFactory beanFactory) throws BeansException {
BindResult<ExampleProperties> result = Binder.get(environment)
.bind("com.example.prefix", ExampleProperties.class);
ExampleProperties properties = result.get();
// Use the properties to post-process the bean factory as needed
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1606 次 |
| 最近记录: |