depends-on是bean标签的属性之一,表示一个bean对其他bean的依赖关系。乍一想,不是有ref吗?其实还是有区别的,<ref/>标签是一个bean对其他bean的引用,而depends-on属性只是表明依赖关系(不一定会引用),这个依赖关系决定了被依赖的bean必定会在依赖bean之前被实例化,反过来,容器关闭时,依赖bean会在被依赖的bean之前被销毁。
示例如下:
manager和accoutDao会先于beanOne被实例化,会慢于beanOne被销毁,而beanOne不引用accountDao(或者说beanOne不会将accountDao注入到自己的属性中)。这就是depends-on的主要作用。