오브젝트 라이프사이클 및 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>