此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

depends-on

如果一个 Bean 是另一个 Bean 的依赖项,这通常意味着一个 Bean 被设置为 另一个人的财产。通常,您可以使用<ref/>元素在基于 XML 的元数据中或通过自动布线spring-doc.cadn.net.cn

但是,有时 bean 之间的依赖关系不太直接。例如,当静态 需要触发类中的初始值设定项,例如用于数据库驱动程序注册。 这depends-on属性或@DependsOn注释可以显式强制一个或多个 bean 在初始化使用此元素的 bean 之前进行初始化。以下示例 使用depends-on属性来表达对单个 bean 的依赖关系:spring-doc.cadn.net.cn

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

要表达对多个 Bean 的依赖关系,请提供 Bean 名称列表作为 这depends-on属性(逗号、空格和分号有效 分隔符):spring-doc.cadn.net.cn

<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" />
depends-on属性可以指定初始化时依赖项和, 在仅单例 Bean 的情况下,相应的销毁时间依赖关系。定义depends-on与给定 Bean 的关系首先被销毁,然后再销毁给定 Bean 本身被摧毁。因此depends-on还可以控制关机顺序。