본문 바로가기

SpringFramework Core - I. IoC 컨테이너/6. Bean 커스터마이징하기

6.1.4. 라이프사이클 메커니즘들 결합시키기

원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-lifecycle-combined-effects

 

 

스프링 2.5에서는 bean의 라이프사이클 행동을 제어하기 위한 세 가지 옵션이 있다.

 

 만약 여러 라이프사이클 메커니즘이 설정되어 있고 각각의 메커니즘이 서로 다른 이름으로 설정되어 있다면, 각각의 설정된 메소드들은 이 메모가 끝난 후 나열된 리스트의 순서로 실행될 것이다. 그러나 만약 여러 메커니즘들에 같은 이름의 메소드가 설정되었다면 (예를 들어, 초기화 메소드로서 init()), 그 메소드는 한번만 실행된다. 

 

같은 bean에 대해 서로 다른 초기화 메소드들을 가지고 설정된 여러 라이프사이클 메커니즘들은 다음의 순서로 호출된다.

  1. @PostConstruct 어노테이션이 붙은 메소드
  2. InitializingBean 콜백 인터페이스에 의해 정의된 afterPropertiesSet()
  3. 커스텀하게 설정된 init() 메소드

소멸 메소드 또한 같은 순서로 호출된다.

  1. @PreDestroy 어노테이션이 붙은 메소드
  2. DisposableBean 콜백 인터페이스에 의해 정의된 destroy()
  3. 커스텀하게 설정된 destroy() 메소드