我知道 bean 加载的顺序是由依赖项和传递依赖项隐式确定的。
想象一下,您有一组带注释的 bean,它们为您提供某种元数据,您希望将这些元数据应用于另一组 AwareBean。因此,只有在您从 N 个 bean 中收集了所有元数据之后,您才能对 AwareBeans 进行后期处理。你通常使用org.springframework.beans.factory.config.BeanPostProcessor
这种东西。但是如何处理订单?我认为即使depends-on
明确设置也不会优先于加载顺序的依赖关系,对吧?
有一个接口org.springframework.core.Ordered
只决定 beanPostProcessors 的应用顺序,而不是 bean 的顺序。
我可以使用org.springframework.beans.factory.config.BeanFactoryPostProcessor
,但 bean 定义在 bean 实例化之前没有足够的信息。例如beanDef.getBeanClass()
返回 bean 类名等。
这是你能想到如何做我想做的任何其他方式吗?