Spring - bean的依赖关系(depends-on属性)

depends-onbean标签的属性之一,表示一个bean对其他bean的依赖关系。乍一想,不是有ref吗?其实还是有区别的,<ref/>标签是一个bean对其他bean的引用,而depends-on属性只是表明依赖关系(不一定会引用),这个依赖关系决定了被依赖的bean必定会在依赖bean之前被实例化,反过来,容器关闭时,依赖bean会在被依赖的bean之前被销毁。

示例如下:

<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" />

manageraccoutDao会先于beanOne被实例化,会慢于beanOne被销毁,而beanOne不引用accountDao(或者说beanOne不会将accountDao注入到自己的属性中)。这就是depends-on的主要作用。

posted @ 2015-11-20 17:25  影子zZzZ  阅读(3470)  评论(0编辑  收藏  举报