Backend/Java & Spring

Spring Bean Life Cycle

khu2172 2025. 6. 3. 01:18

Bean Life Cycle, 빈 생명 주기 콜백은 스프링 컨테이너 초기화 - 빈 객체 생성 - 의존 주입 - 초기화 - 빈 사용 - 빈 소멸 - 컨테이너 종료 순으로 진행된다. 스프링 컨테이너 초기화 시점에 빈 객체 생성, 의존 주입, 초기화 과정이 수행되며, 스프링 컨테이너 종료 시점에서 빈 소멸 과정이 수행된다. InitializingBean 인터페이스의 afterPropertiseSet() 메소드를 구현하여 빈을 초기화하고, DisposableBean 인터페이스의 destory() 메소드를 구현하여 빈을 소멸한다.

 

데이터베이스 커넥션 풀이나 네트워크 소켓(채팅)처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 하려면 객체의 초기화와 종료 작업이 필요하다.

 

스프링 빈도 위와 같은 원리로 초기화 작업과 종료 작업으로 나눠서 진행된다. 간단하게 말해서 객체 생성 -> 의존 관계 주입이라는 라이프 사이클을 가진다. 즉, 스프링 빈은 의존 관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다.