对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cadn.net.cn

depends-on

如果一个 bean 是另一个 bean 的依赖项,这通常意味着一个 bean 被设置为 另一个人的财产。通常,您可以使用<ref/>元素在基于 XML 的配置元数据中。但是,有时 豆子就不那么直接了。例如,当类中的 static 初始值设定项需要 triggered,例如用于数据库驱动程序注册。这depends-on属性可以 在使用此元素的 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属性(逗号、空格和分号有效 delimiters):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属性可以指定初始化时依赖项和 在仅 singleton bean 的情况下,相应的 销毁时间依赖性。定义depends-on关系 在给定的 bean 本身被销毁之前,首先销毁给定的 bean。 因此depends-on还可以控制 shutdown 顺序。