Если бин является зависимостью другого бина, это обычно означает, что один бин задан как свойство другого. Обычно это выполняется с помощью элемента <ref/> в конфигурационных метаданных на основе XML. Однако иногда зависимости между бинами менее прямые. Примером может служить ситуация, когда необходимо запустить блок статической инициализации класса, например, для регистрации драйвера базы данных. Атрибут depends-on может в явной форме принудительно инициализировать один или более бинов перед инициализацией бина, использующего этот элемент. В следующем примере атрибут depends-on используется, чтобы выразить зависимость от одного единственного бина:

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

Чтобы выразить зависимость от нескольких бинов, укажите список имен бинов в качестве значения атрибута 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" />
Атрибут depends-on может задавать как зависимость от времени инициализации, так и, в случае только бинов-одиночек, соответствующую зависимость от времени уничтожения. Зависимые бины, которые определяют depends-on отношения с данным бином, уничтожаются в первую очередь, вплоть до уничтожения самого данного бина. Таким образом, depend-on может также контролировать порядок завершения.