← 질문 목록
#129깊이 0

빈 초기화 로직은 어느 시점에 실행해야 하는가?

프레임워크기초설계 원칙

의존성 주입이 끝난 뒤 초기화 콜백에서 실행해야 한다. 생성자에서는 모든 주입과 컨테이너 후처리가 끝났다고 보장할 수 없다.

  1. 컨테이너

    인스턴스를 만들고 의존성을 주입한다

  2. 빈 후처리기

    초기화 전 처리를 한다

  3. 컨테이너

    @PostConstruct 등 콜백을 호출한다

  4. 빈 후처리기

    프록시 등 초기화 후 처리를 한다

초기화 콜백은 @PostConstruct, InitializingBean, initMethod 순서로 호출된다. 애플리케이션 로직은 스프링 인터페이스보다 애너테이션이나 설정 콜백에 두는 편이 덜 결합된다.

종료 때는 @PreDestroy 같은 소멸 콜백이 실행된다. 다만 prototype 빈은 생성 뒤 컨테이너가 추적하지 않으므로 호출자가 정리해야 한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

빈 초기화 로직은 어느 시점에 실행해야 하는가?