• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

싱글톤 빈 요청에 대한 질문입니다.

21.11.22 18:41 작성 조회수 93

0

안녕하세요 팀장님.

저는 신입 개발자입니다.

싱글톤 스코프 타입을 스프링컨테이너에 요청했을 때

컨테이너가 관리하는 빈을 반환한다고 들었습니다.

그렇다면 많은 요청이 왔을 때 빈을 쉬지 않고 계속 반환할 수 있나요?

또한, 빈을 반환하는일도 쓰레드가 하는 일인지 궁금합니다.

정말 감사합니다.

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2021.11.23

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

.

그렇다면 많은 요청이 왔을 때 빈을 쉬지 않고 계속 반환할 수 있나요?

=> 빈을 스프링 컨테이너로부터 반환받는 코드가 있다면 매 요청마다 그렇게 처리될 것입니다. 다만, 사용할 빈을 컨테이너로부터 매번 받아와서 사용하는 것은 미리 의존관계 주입을 통해 사용되어질 빈을 설정 해주는 것에 비해 비효율적입니다. 스프링 컨테이너 로드시 초기에 한 번만 설정해주면 될 것을 매 요청마다 빈을 컨테이너로부터 반환받아야 하기 때문입니다.

 

또한, 빈을 반환하는일도 쓰레드가 하는 일인지 궁금합니다.

=> 스레드는 코드를 실행합니다.

스레드가 컨테이너로부터 빈을 반환받는 코드를 만나면 그대로 실행합니다.

내부적으로는 빈의 이름, 타입 등을 통해 컨테이너에 빈이 있는지 확인하고 있다면 반환해주는 코드가 있습니다. 이를 스레드가 실행할 뿐입니다.

따라서 빈을 반환하는 일도 쓰레드가 한다고 볼 수 있습니다만 더 정확히는 빈을 반환하는 코드를 실행하는 일을 스레드가 하는 것입니다.

.
감사합니다.