개발/Spring

@PostConstruct 어노테이션 및 @PreDestroy 어노테이션과 라이프 사이클

쵸코푸들이장군 2018. 2. 15. 12:32

@PostConstruct 어노테이션 과 @PreDestroy 어노테이션은 라이프 사이클의 초기화 및 제거 과정을 제공한다.

@PostConstrcut 는 의존하는 객체를 설정한 이후에 초기화 작업ㅇ르 수행할 메서드에 적용되며,

@PreDestroy 어노테이션은 컨테이너에서 객체를 제거하기 전에 호출 될 메서드에 적용된다.

즉, 스프링 설정 파일에서 init-method 속성과 destroy-method 속성을 이용해 명시한 메서드와 동일한 시점에 실행된다.



public class HomeController{

 @PostConstruct

 public void init(){

  //초기화 처리

 }


 @PreDestroy

 public void close(){

  // 자원 반환 등 종료 처리

 }