TIL

빈 생명 주기 콜백

빈 생명 주기 콜백 시작

스프링 빈은 간단하게 다음과 같은 라이프 사이클을 가진다.

초기화: 객체 안에 필요한 값을 연결하는 것 (외부랑 객체를 연결)

스프링 빈의 이벤트 라이프사이클

객체의 생성과 초기화를 분리하자.

싱글톤 빈들은 스프링 컨테이너가 종료될 때 싱글톤 빈들도 함께 종료되기 때문에 스프링 컨테이너가 종료되기 직전에 소멸전 콜백이 일어난다. 뒤에서 설명하겠지만 싱글톤처럼 컨테이너의 시작과 종료까지 생존하는 빈도 있지만, 생명 주기가 짧은 빈들도 있는데 이 빈들은 컨테이너와 무관하게 해당 빈이 종료되기 직전에 소멸전 콜백이 일어난다. 자세한 내용은 스코프에서 알아보겠다.

생명 주기 콜백 지원 3가지 방법

인터페이스(InitializingBean, DisposableBean)

참고: 인터페이스를 사용하는 초기화, 종료 방법은 스프링 초창기에 나온 방법들이고, 지금은 다음의 더 나은 방법들이 있어서 거의 사용하지 않는다

설정 정보에 초기화 메서드, 종료 메서드 지정

종료 메서드 추론

@PostConstruct, @PreDestory애노테이션 지원

정리