假设我正在注入(inject)一些 bean 列表:
@Autowired
List<SomeBean> beans;
这种情况下的默认注入(inject)顺序是什么?
我了解 Ordered
接口(interface)和 @Order
注释,我只询问默认行为。
我注意到,在手动 bean 注册的情况下:
context.register(SomeBeanA.class);
context.register(SomeBeanB.class);
context.register(SomeBeanC.class);
这个bean的注入(inject)顺序与我注册它们的顺序完全相同:列表中的1个元素是SomeBeanA,2 - SomeBeanB,3 - SomeBeanC。
这种行为有任何保证吗?我的意思是我可以确定它在进一步的版本中不会改变吗?
谢谢。
最佳答案
如果你想保证 Autowiring 列表的顺序,我会使用 order 接口(interface)或注释。
事实上,列表无论如何都是有序的,并且每个未声明显式顺序的 bean 都会解析为默认顺序。 (如果我没记错的话,默认是最小整数)
关于java - 列出 Spring IoC 容器中的注入(inject)顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34050035/