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

vanillaa님의 프로필 이미지
vanillaa

작성한 질문수

스프링 핵심 원리 - 기본편

프로토타입 스코프

동작 과정

작성

·

161

1

동작 과정이 조금 헷갈린데 맞는지 확인해주시면 감사하겠습니다.

 

@Component 어노테이션이 일단 붙으면 스프링이 시작될 때 스프링 컨테이너에 등록이 되는데 프로토타입 스코프의 경우 빈 이름만 등록을 했다가 요청이 들어오면 그 때 빈 객체를 생성하는건가요? 아니면 빈 이름과 빈 객체를 모두 요청이 들어오면 저장소에 저장하는건가요? 

 

[스프링 빈 저장소]

———————————————

      빈 이름       |     빈 객체

 

   Prototype1       po@1                                (1)

   Prototype2                                                (2)

   요청이 들어오면 이름과 객체를 채움       (3)

1번 처럼 미리 만들어 두나요?
2번 처럼 이름만 만들어 두고 나중에 객체 생성을 하나요?
아니며 3번 처럼 이름과 객체를 요청이 들어오면 채우나요? 만약 3번이라면 스프링 컨테이너는 어떤식으로 Prototype빈을 인식하는건가요?

답변 1

0

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

.

빈을 생성할 때에는 BeanDefinition 정보를 가지고 생성합니다.

따라서 프로토타입 스코프를 가진 빈을 생성할 때 해당 빈의 BeanDefinition 정보를 바탕으로 생성하고 컨테이너에서 별도로 관리하지 않습니다.

 

BeanDefinition은 스프링 빈 설정 메타 정보 - BeanDefinition 강의를 참고해주세요.
.
감사합니다.

vanillaa님의 프로필 이미지
vanillaa

작성한 질문수

질문하기