🧩 Bean LifeCycle 이란

정의

Spring Bean LifeCycle은 Bean이 생성되고, 의존성이 주입되고, 초기화된 뒤 사용되다가, 컨테이너 종료 시 정리되는 전체 흐름이다.

  • Bean은 스프링 컨테이너가 관리한다.
  • 생성 직후와 소멸 직전에 각각 콜백을 받을 수 있다.
  • 초기화와 종료 로직은 보통 애너테이션이나 인터페이스로 연결한다.

⚙️ 생명주기 흐름

image

  1. 스프링 컨테이너가 생성된다.
  2. Bean이 생성된다.
  3. 의존관계가 주입된다.
  4. 초기화 콜백이 실행된다.
  5. Bean이 실제로 사용된다.
  6. 소멸 전 콜백이 실행된다.
  7. 스프링 컨테이너가 종료된다.

🧠 주요 콜백

@PostConstruct

  • Bean 생성과 의존성 주입이 끝난 뒤 실행된다.
  • 초기화 작업에 사용한다.
  • 관련 문서: @PostConstruct

@PreDestory

  • Bean이 소멸되기 직전에 실행된다.
  • 자원 해제와 종료 처리에 사용한다.
  • 관련 문서: @PreDestory

⚠️ 주의사항

  • 초기화와 종료 로직은 필요한 만큼만 넣는 것이 좋다.
  • 너무 무거운 작업을 넣으면 컨테이너 시작과 종료가 느려질 수 있다.
  • Bean 생명주기는 스프링이 관리하므로 직접 호출 흐름과 혼동하지 않아야 한다.

📌 정리

  • Bean LifeCycle은 생성부터 소멸까지의 전체 관리 흐름이다.
  • @PostConstruct@PreDestory가 대표적인 콜백이다.
  • 스프링의 객체 관리 방식을 이해할 때 꼭 필요한 기본 개념이다.

연결문서

태그:

카테고리:

업데이트:

댓글남기기