인프런 커뮤니티 질문&답변

야호님의 프로필 이미지
야호

작성한 질문수

스프링 핵심 원리 - 기본편

애노테이션 @PostConstruct, @PreDestroy

싱글턴 빈 객체의 생명 주기

작성

·

235

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
싱글턴 빈 객체의 경우 스프링의 생명주기와 함께 하나요? 즉 스프링이 빈을 등록할 때 생성이 되어서 스프링이 종료 될 때 빈도 destroy 되는 것일까요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요. 싱글턴 빈 객체의 경우 스프링의 생명주기와 관련된 질문이시군요.

싱글턴 빈은 스프링 컨테이너에 한 번 생성되고, 애플리케이션 종료 시까지 유지됩니다. 따라서 스프링의 생명주기와 함께 동작하며, 스프링 컨테이너가 생성될 때 빈도 함께 생성되고, 종료될 때 빈도 함께 destroy 됩니다.

하지만 싱글턴 빈의 destroy는 보통 JVM이 종료될 때까지 유지되기 때문에, 스프링 컨테이너가 종료되더라도 해당 빈의 destroy 작업이 일어나지 않을 수도 있습니다.

따라서 정확한 destroy 시점이나 destroy 작업을 진행하려면 @PreDestroy 애노테이션을 활용하거나 DisposableBean 인터페이스를 구현하여 명시적으로 destroy 메서드를 정의해주는 것이 좋습니다.

더 자세한 내용은 스프링 빈 생명주기에 대한 문서를 참고해주세요. 이해하기 어려운 부분이 있다면 강의 내용 또는 관련 자료를 탐색해보시는 것도 좋습니다. 이점 양해 부탁드려요.

야호님의 프로필 이미지
야호

작성한 질문수

질문하기