Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.4.3 depends-on的使用

6.4.3 depends-on的使用

如果bean是另一个bean的依赖项,常常意味着将一个bean设置为另一个bean的属性。 典型地,你可以使用基于XML的配置元数据中的<ref />元素来完成此操作。但是,有时bean之间的依赖关系不那么直接;例如,需要触发类中的静态初始化程序,像数据库驱动程序的注册。在初始化使用此元素的bean之前,depends-on属性可以显式强制初始化一个或多个bean。以下示例使用depends-on属性表示对单个bean的依赖关系:

<bean id="beanOne" class="ExampleBean" depends-on="manager"/>
<bean id="manager" class="ManagerBean" />

要表示对多个bean的依赖关系,请提供bean名称列表作为depends-on属性的值,使用逗号,空格和分号作为有效分隔符:

<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao">
    <property name="manager" ref="manager" />
</bean>

<bean id="manager" class="ManagerBean" />
<bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" />

注意:bean定义中的depends-on属性既可以指定初始化时间上的依赖关系,也可以指定仅在单例bean的这种情况下,bean在相应销毁时间上的依赖关系。 在给定的bean本身被销毁之前,先销毁定义与给定bean具有depends-on关系的从属bean。因此,依赖也可以控制销毁顺序。

猜你喜欢

转载自www.cnblogs.com/springmorning/p/10332179.html