오브젝트 라이프사이클 및 Blueprint 컨테이너
Blueprint 프로그래밍 모델에서는 Bean 관리자가 작성하는 오브젝트의 라이프사이클을 관리할 수 있습니다. Bean 관리자는 모든 특성이 주입된 후 또는 오브젝트 인스턴스가 제거될 때 오브젝트에 알릴 수 있습니다.
Blueprint 컨테이너 스펙은 다음 콜백 메소드를
정의합니다.
- init-method
- 모든 특성이 오브젝트에 주입된 후 호출할 메소드를 지정합니다. 메소드는 공용이어야 하며 인수를 사용하지 않고 값을 리턴하지 않습니다.
- destroy-method
- Blueprint 컨테이너가 오브젝트 인스턴스를 제거할 때 호출할
메소드를 지정합니다. 메소드는 공용이어야 하며 인수를 사용하지 않고
값을 리턴하지 않습니다.
프로토타입 범위의 Bean에 대해서는 destroy-method 콜백이 지원되지 않습니다. 이 경우 애플리케이션이 이러한 인스턴스를 제거할 책임이 있습니다.
다음 코드 예제는 라이프사이클 메서드를 가진 Java™ 클래스와 init-method 및 destroy-method 속성을 지정하는 Blueprint XML 빈 항목의 예를 보여줍니다.
public class Account {
public Account(long number) {
...
}
public void init() {
...
}
public void destroy() {
...
}
}
<bean id="accountFour" class="org.apache.aries.simple.Account"
init-method="init" destroy-method="destroy">
<argument value="6"/>
<property name="description" value="#6 account"/>
</bean>