一尘不染

Spring 3 bean实例化序列

spring

无论如何,有没有指定实例化bean的顺序?即我希望特定的bean在其他bean之前被实例化,就像启动顺序一样。

我正在使用Spring 3.2和基于注释的声明方法。


阅读 278

收藏
2020-04-18

共1个答案

一尘不染

如果豆甲取决于豆乙通过定义<property/>@Autowired<constructor-arg/>则的顺序被强制和由Spring容器固定。没问题

但是,如果要强制执行未通过显式依赖项表示的特定的Bean创建顺序,请随时使用:

<bean id="A" depends-on="B"/>
<bean id="B"/>

或更好(带有注释,也可以与@BeanJava配置一起使用):

@Service
@DependsOn("B")
public class A {}

甚至更好…不要使用它。这些构造是代码的味道,通常建议你在组件之间有一些讨厌的不可见的依赖关系。

2020-04-18