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

jh06_04jh님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

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

싱글톤과 프로토타입의 차이점

작성

·

275

0

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

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

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)


2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)


3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)



[질문 내용]
여기에 질문 내용을 남겨주세요.

 

안녕하세요.
싱글톤과 프로토타입의 차이점은 이해가 됐지만

헷갈리는 부분이 있어서 질문 남깁니다.

 

테스트 진행할때 프로토 타입을 주입 받을 당시에 인스턴스를 계속 가지고 있어서 결국 클라이언트 빈을 호출 할때 새로운 프로토타입 인스턴스를 가지는 것이 아니라 주입받을 당시에 생성되었던 인스턴스가 유지된다는 것은 이해했습니다.

다만 프로토타입으로 지정했던 빈이 싱글톤 빈이 였어도 똑같은 값이 나오지 않나요..?

테스트를 진행한것이

싱글톤인 빈을 주입받으면 똑같은 인스턴스를 갖기때문에 새로운 인스턴스를 받기 위해 프로토타입 빈을 받으려고 테스트 한것일까요??

답변 1

1

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

프로토타입 빈 사용시 어떤 부분을 주의해야 하는지 알려드리기 위함입니다.

프로토타입 빈은 컨테이너에서 생성하는 과정에서 새롭게 인스턴스가 생성되고 이후 관리되지 않습니다. 그러나 싱글톤 빈 생성시 외부에서 프로토타입 빈을 생성하여 주입하게 되면 프로토타입 빈의 특성(컨테이너 관리X, 매번 생성)을 활용하여 사용하는 것이 아니게 됩니다.

곧 이어 프로토타입 빈의 특성을 잘 보여드리기 위해 컨테이너로부터 매번 생성되는 예제가 나옵니다.

감사합니다.