无论如何,有没有指定实例化bean的顺序?即我希望特定的bean在其他bean之前被实例化,就像启动顺序一样。
我正在使用Spring 3.2和基于注释的声明方法。
如果豆甲取决于豆乙通过定义<property/>,@Autowired或<constructor-arg/>则的顺序被强制和由Spring容器固定。没问题
<property/>
@Autowired
<constructor-arg/>
但是,如果要强制执行未通过显式依赖项表示的特定的Bean创建顺序,请随时使用:
<bean id="A" depends-on="B"/> <bean id="B"/>
或更好(带有注释,也可以与@BeanJava配置一起使用):
@Service @DependsOn("B") public class A {}
甚至更好…不要使用它。这些构造是代码的味道,通常建议你在组件之间有一些讨厌的不可见的依赖关系。