SpringBean LifeCycle
🧩 Bean LifeCycle 이란
정의
Spring Bean LifeCycle은 Bean이 생성되고, 의존성이 주입되고, 초기화된 뒤 사용되다가, 컨테이너 종료 시 정리되는 전체 흐름이다.
- Bean은 스프링 컨테이너가 관리한다.
- 생성 직후와 소멸 직전에 각각 콜백을 받을 수 있다.
- 초기화와 종료 로직은 보통 애너테이션이나 인터페이스로 연결한다.
⚙️ 생명주기 흐름

- 스프링 컨테이너가 생성된다.
- Bean이 생성된다.
- 의존관계가 주입된다.
- 초기화 콜백이 실행된다.
- Bean이 실제로 사용된다.
- 소멸 전 콜백이 실행된다.
- 스프링 컨테이너가 종료된다.
🧠 주요 콜백
@PostConstruct
- Bean 생성과 의존성 주입이 끝난 뒤 실행된다.
- 초기화 작업에 사용한다.
- 관련 문서: @PostConstruct
@PreDestory
- Bean이 소멸되기 직전에 실행된다.
- 자원 해제와 종료 처리에 사용한다.
- 관련 문서: @PreDestory
⚠️ 주의사항
- 초기화와 종료 로직은 필요한 만큼만 넣는 것이 좋다.
- 너무 무거운 작업을 넣으면 컨테이너 시작과 종료가 느려질 수 있다.
- Bean 생명주기는 스프링이 관리하므로 직접 호출 흐름과 혼동하지 않아야 한다.
📌 정리
- Bean LifeCycle은 생성부터 소멸까지의 전체 관리 흐름이다.
@PostConstruct와@PreDestory가 대표적인 콜백이다.- 스프링의 객체 관리 방식을 이해할 때 꼭 필요한 기본 개념이다.
댓글남기기