java - 是否可以在 BeanFactoryPostProcessor 中应用 @Order
问题描述
我正在尝试根据各种因素在启动期间更新多个 bean 的优先级。我已经扫描了文档,看来订购 bean 优先级的唯一方法是 via@Order
或Ordered interface
.
像下面这样的可能吗?
@Component
public class MyCustomBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory factory) throws BeansException {
for (String name: factory.getBeanDefinitionNames()) {
BeanDefinition definition = factory.getBeanDefinition(name);
// Some custom logic to determine the order based on other beans registered
definition.setOrder(x);
}
}
}
如果上述不可行,那么 spring 中的哪些机制负责使用@Order
and Ordered interface
。这些机制是否可以覆盖?
解决方案
推荐阅读
- python - 如何在 Django 中显示由外键连接的模型的字段文本而不是 ID?
- python - MQL5 读取文件同时被另一个程序写入
- reactjs - 如何根据给定的示例将列数组值添加为行数组中的新数组?
- javascript - 如何在最新的 Chrome/Firefox 中使用 javascript 在按钮单击时从 HTML 页面运行 bat 文件?
- excel - Microsoft Excel 数据透视表,每行包含多个可筛选项/值
- node.js - 如何在mongoDB中计算总数?
- azure - 数据集类型 json 时 Set-AzureRmDataFactoryV2Dataset 中的 Azure 数据工厂 V2 错误
- docker - OpenGrok docker 镜像中的索引配置在哪里?
- java - 无法映射列表
- python - 我有两行代码,我试图进入一行