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

안병찬님의 프로필 이미지
안병찬

작성한 질문수

스프링 핵심 원리 - 기본편

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

provider 관련 궁금증이 있습니다.

작성

·

275

7

logic() 메서드 호출 시 그때 마다 프로토타입 빈이 생성되어 사용이 되는데 해당 코드를 보면 provider.get() 입니다.

이 경우에는 new PrototypeBean(); 을 호출하는 것과 다른 점이 있을까요?

ObjectProvider 같은 경우에는 이외 많은 기능이 있어 사용

하는것이 수긍이 가나 단순히 빈을 해당 라인에서 생성하는 것은 생성자를 호출하는것과 동일한데  provider.get() 코드와 

 new PrototypeBean();  코드가 다른점이 있을까요? 

답변 1

7

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

안녕하세요. 병찬님

provider.get();을 하면 스프링 컨테이너를 통해서 조회하기 때문에, 필요한 의존관계 주입과 초기화의 도움을 받을 수 있습니다.

반면에 new PrototypeBean()을 사용하게되면 의존관계 주입도 안되고, 필요한 초기화도 안됩니다. 모든 것을 직접 수동으로 해주어야 합니다.

그렇다고 둘중에 어떤 것이 좋다기 보다는 개발 시점에 더 적절한 방법을 선택하면 됩니다^^

감사합니다.

안병찬님의 프로필 이미지
안병찬

작성한 질문수

질문하기