Today I Learned_220803

최대 1 분 소요

Spring Framework

인프런 스프링 강의 수강

Bean Lifecycle Callback

스프링이 생성된 후나 소멸되기 전에 bean 안의 메소드를 호출할 수 있는 기능

스프링은 의존관계 주입이 완료거나, 컨테이너가 종료될 때 콜백을 준다(기준 : setter/filed injection, singleton scope)

Spring Bean Event Lifecycle

조건 : singleton scope, 생성자 주입 제외

스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료

  • 객체를 생성해야지 의존관계를 주입할 수 있기 때문
  • 초기화와 객체 생성은 다르다.
    • 객체 생성 : 파라미터를 받아 메모리를 할당하여 객체를 생성
    • 초기화 : 객체가 일을 제대로 시작할 수 있게 준비하는 것 (setter 등등)
    • 초기화는 많은 로직을 타기에 객체 생성과 같이 돌기엔 무거울 수 있다 -> 분리해보자.
    • 초기화 로직이 단순하다면 생성할 때 초기화 할 수도..

초기화 콜백 : 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출

소멸전 콜백 : 빈이 소멸되기 전에 호출

빈 생명주기 콜백 지원 방법

  1. 인터페이스(InitializingBean, DisposableBean)
  2. 설정 정보에 초기화, 종료 메소드 지정
  3. @PostConstruct, @PreDestroy

카테고리:

업데이트: