패스잇
백엔드 개발 · 중급

Spring Bean의 생명주기(Lifecycle)에 대해 설명해주세요. 초기화와 소멸 콜백은 어떻게 처리하나요?

힌트 · @PostConstruct, @PreDestroy, InitializingBean 등을 생각해보세요.

BeanPostProcessorInitializingBeanDisposableBean@PostConstruct@PreDestroy

모범답안

Spring Bean의 생명주기는 Bean이 생성되고, 사용 가능하게 되며, 소멸되는 과정을 말합니다.

Bean이 생성된 후 초기화 단계에서는 InitializingBean 인터페이스의 afterPropertiesSet 메서드나 @PostConstruct 어노테이션을 사용하여 Bean 초기화 작업을 수행할 수 있습니다. InitializingBean은 인터페이스를 구현해야 하지만, @PostConstruct는 어노테이션만 붙이면 되므로 더 간편하게 사용할 수 있습니다.

Bean이 소멸되기 전에는 DisposableBean 인터페이스의 destroy 메서드나 @PreDestroy 어노테이션을 사용하여 Bean 소멸 작업을 수행합니다. 마찬가지로 @PreDestroy가 더 편리합니다.

BeanPostProcessor를 사용하면 Bean의 초기화 전후에 사용자 정의 로직을 추가할 수도 있습니다. 이는 Bean의 생성 과정에 더 세밀한 제어를 가능하게 합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Java / Spring 면접 질문

← Java / Spring 면접 질문 전체 보기