The Lifecycle of Spring Beans

스프링 빈

애플리케이션 컨텍스트

애플리케이션 컨텍스트가 사용 가능한 설정 정보

애플리케이션 컨텍스트 구현

애플리케이션 컨텍스트의 장점(vs 오브젝트 팩토리)

스프링 빈의 생명 주기

  1. 빈 정의
    • stereotype annotation
      • @Component
    • XML bean configuration
  2. 빈 생성 및 인스턴스화
    • 빈이 생성되면 인스턴스화 되고 ApplicationContext와 JVM 메모리에 로드된다
  3. 빈 프로퍼티 생성
    • 빈 정의에 기초하여 id, scope, default values를 생성한다
  4. Post-initialization
    • 초기화 후 실행됨
    • Aware Interface를 제공
      • 애플리케이션 빈 메타 데이터에 접근
  5. 의존성 주입 및 Post-initialization이 실행되면 사용될 준비가 됨
  6. Pre-distroy
    • 빈이 소멸되기 전에 실행됨
  7. 빈의 소멸
    • JVM 메모리에서 삭제된다

빈의 생명주기에 후킹하기

Reference