인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ms님의 프로필 이미지
ms

작성한 질문수

스프링 핵심 원리 - 기본편

프로토타입 스코프

컨테이너의 싱글톤 빈 관리 질문

작성

·

277

0

 

ac.close() 로 컨테이너를 종료하고 빈의 destroy() 메소드까지 호출이 된 상태인데요, 그 다음 destroy() 메소드를 호출했더니 빈이 없어져 에러가 날 줄 알았는데 정상작동 합니다.

싱글톤 빈은 컨테이너가 종료될 때까지 관리를 하기 때문에 close 되면 없어질거라 생각했는데 제 이해가 틀린건가요?

종료될 시 어떻게 컨테이너가 동작하는지 궁금합니다.

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. ms님

컨테이너 종료 전에 이미 빈을 조회해서 참조하고 있습니다.

이렇게 되면 자바에서 객체의 참조를 스프링 컨테이너 외에 다른곳에서도 가지게 됩니다.

자바는 이 경우 해당 객체를 GC하지 않고 유지해줍니다.

현재 테스트 코드가 참조하는 bean1의 지역변수가 제가되면 그때 bean1 인스턴스도 GC 대상이 됩니다.

감사합니다.

ms님의 프로필 이미지
ms

작성한 질문수

질문하기