Spring Bean 생명주기 콜백

김두현·2023년 6월 1일
2

Spring

목록 보기
10/13
post-thumbnail

Spring Bean의 생명주기

Spring Bean의 데이터를 사용하는 것은 의존관계 주입이 끝난 이후에야 가능하다.
그렇다면 개발자는 의존관계 주입이 완료된 시점을 어떻게 알 수 있을까?

Spring Bean은 다음과같은 생명주기를 가진다.

Spring 컨테이너 생성 \to Spring Bean 생성 \to 의존관계 주입 \to 초기화 콜백 \to Spring Bean 사용 \to 소멸 전 콜백 \to Spring 종료

Spring은 의존관계 주입이 완료되면 Bean에게 초기화 시점을 알려준다.
또한, Spring 컨테이너가 종료되기 직전 소멸 콜백또한 알려줌으로서 안전하게 종료할 수 있게된다.

콜백을 지원하는 가장 대표적인 방식인 @PostConstruct@PreDestroy에 대해 알아보자.


@PostConstruct

@PostConstruct를 통해 Bean의 초기화 시점을 알 수 있다.

아래 코드를 살펴보자.
@PostConstruct가 붙은 메서드는 의존관계 주입 후, 즉 생성자 호출 이후에 실행되어야한다.

Bean 설정 정보 코드와 실행 결과를 살펴보자.
올바른 순서로 출력되었음을 확인할 수 있고, 이를 통해 데이터를 사용 가능한 시점을 알 수 있다.


@PreDestroy

@PreDestroy를 통해 Bean의 소멸 직전 시점을 알 수 있다.

위에서 살펴본 코드를 실행할 경우, @PreDestroy가 붙은 메서드는 가장 마지막에 실행되어야한다.


Spring 기본 원리 Series End😆


참고 자료

https://www.inflearn.com/course/스프링-핵심-원리-기본편


💕오류 지적 및 피드백은 언제든 환영입니다. 복제시 출처 남겨주세요!💕
💕좋아요와 댓글은 큰 힘이 됩니다.💕
profile
I AM WHO I AM

2개의 댓글

comment-user-thumbnail
2023년 6월 12일

우와..

1개의 답글