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

lwisekiml님의 프로필 이미지
lwisekiml

작성한 질문수

스프링 핵심 원리 - 기본편

프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점

@Scope("singleton")을 넣지 않았는데도 싱글톤으로 동작

해결된 질문

작성

·

568

0

위에 코드와 같이 ClientBean 위에 @Scope("singleton")을 넣지 않았는데도 싱글톤으로 동작하는것 같습니다.

그 이유가 new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class);에 있는 ClientBean.class 때문에 스프링 컨테이너에 등록 되어서 싱글톤으로 동작하는 것이 맞을까요?

답변 1

0

안녕하세요, lwisekiml 님. 공식 서포터즈 y2gcoder 입니다.

네, 맞습니다. Spring Framework에서는 기본적으로 모든 빈(Bean)이 싱글톤(Singleton) 스코프로 생성됩니다. @Scope 어노테이션을 명시적으로 사용하지 않아도, 기본적으로 싱글톤으로 동작하게 됩니다. 이것은 Spring Framework의 기본 전략입니다.

new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); 코드를 사용하여 스프링 컨테이너를 생성할 때, ClientBean과 PrototypeBean이 스프링 컨테이너에 등록됩니다. 여기서 ClientBean은 명시적으로 스코프를 지정하지 않았기 때문에, 기본 전략에 따라 싱글톤 스코프로 동작하게 됩니다.

감사합니다.

lwisekiml님의 프로필 이미지
lwisekiml

작성한 질문수

질문하기