빈이 다른 빈의 종속성인 경우, 이는 일반적으로 한 빈이 다른 빈의 속성(property)으로 설정된다는 의미입니다. 일반적으로 XML 기반 구성 메타데이터의 <ref/>
요소를 사용하여 이를 수행합니다. 그러나 때로는 Bean 간의 종속성이 덜 직접적인 경우도 있습니다. 데이터베이스 드라이버 등록과 같이 클래스의 정적 초기화 프로그램을 트리거해야 하는 경우를 예로 들 수 있습니다. depends-on
속성(attribute)은 이 요소를 사용하는 Bean이 초기화되기 전에, 하나 이상의 Bean이 초기화되도록 명시적으로 강제할 수 있습니다. 다음 예제에서는 depends-on
을 사용하여 단일 Bean에 대한 종속성을 표현합니다.
<bean id="beanOne" class="ExampleBean" depends-on="manager"/>
<bean id="manager" class="ManagerBean" />
여러 Bean에 대한 종속성을 표현하려면 depends-on
속성(attribute)의 값으로 Bean 이름 목록을 제공(supply)하십시오(쉼표, 공백 및 세미콜론은 유효한 구분 기호입니다).
<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" />
[Note]
depends-on
속성은 초기화 시간 종속성과, 싱글톤 Bean의 경우, 해당 소멸 시간 종속성을 모두 지정할 수 있습니다. 지정된 Bean과의depends-on
관계를 정의하는 종속 Bean은 지정된 Bean 자체가 파기되기 전에 먼저 파기됩니다. 따라서depends-on
항목은 종료 순서도 제어할 수 있습니다.