강의

멘토링

로드맵

Inflearn brand logo image

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

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 핵심 원리 - 기본편

프로토타입 스코프

@Score("singleton") 질문

작성

·

79

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
빈 스코프는 빈이 존재할 수 있는 범위라고 이해했습니다.

즉, @Scope("singleton")은 빈이 스프링 컨테이너의 시작과 종료까지 유지됨

 

@Score("singleton")
static class SingletonBean{ ... }

위의 코드를 보면 @Configuration이 없으니 -> 빈을 싱글톤으로는 관리하지 않는다. -> 의존관계를 주입할때 new() 호출될 때마다 새로운 객체가 생성됨

그럼 위 상황에서는 빈이 싱글톤이 아니여서 여러 개의 객체가 생성되었고 이 객체들은 컨테이너의 시작과 종료까지 유지된다 라고 이해하면 될까요??

감사합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

이진형님의 질문에 대해 도움을 드리기 위해 관련된 답변을 찾아보았습니다. 우선, 스프링의 스코프와 빈의 라이프사이클에 대해 이해하는 것이 중요합니다. @Scope("singleton")은 스프링 컨테이너 내에서 기본 스코프이며, 이를 통해 생성된 빈은 컨테이너가 시작될 때 한 번만 생성되고, 컨테이너 종료 시까지 같은 인스턴스가 사용됩니다.

하지만 코드상에 @Configuration이 없으면서 @Bean 어노테이션으로 빈을 등록하지 않고 그냥 클래스를 인스턴스화 하게 되면 당연히 일반 자바 객체로 처리되며, 스프링 컨테이너의 관리 범위 밖에서 동작합니다. 이 경우, 의존성 주입이 일어나지 않으며, 인스턴스를 생성할 때마다 새로운 객체가 생성됩니다.

다음의 답변은 이 주제와 관련있는 것으로, 추가적인 정보를 제공하여 이해를 도모합니다:

해당 답변에서는 싱글톤 스코프 및 다른 스코프와 관련된 동작 방식에 대해 더 깊이 있는 정보를 제공합니다. 위 내용을 참고하시면, 스프링의 싱글톤 스코프와 해당 객체들의 라이프사이클에 대한 이해를 높일 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기