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

마이티님의 프로필 이미지
마이티

작성한 질문수

스프링 핵심 원리 - 기본편

request 스코프 예제 만들기

MyLogger 스코프

작성

·

194

1

[질문 내용]
requeste 스코프 예제 만들기 20:17초에 나오는 LogDemoService의 MyLogger에 관한 질문입니다.

 

해당 스코프가 request니까 각 http요청당 하나씩 생성되고 종료되는 거로 알고 있습니다.

 

  1. 처음 컨트롤러에서 생성된 MyLogger를 사용하고 그 다음 서비스에도 MyLogger를 사용하는데 이 때 컨트롤러에서 세팅한 값 MyLogger객체가 그대로 서비스에도 쓰이는 거 같은데 이게 어떻게 가능한거죠??

 

  1. 컨트롤러와 서비스 코드 간에 같은 MyLogger 객체를 공유하는 어떤 기능이 있는 건가요? 동시에 100개의 http 요청이 들어왔을 때 구분을 어떻게 하는지 궁금합니다.

 

답변 1

4

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

Request Scope Bean의 경우 요청 객체 내에 attribute를 보관하는 곳에 빈을 보관하게 됩니다. 따라서, 하나의 요청이 진행되는 동안 Controller -> Service의 흐름 속에서 동일한 Request Scope Bean을 가져갈 수 있게 됩니다. 여러 개의 요청이 들어와도 각 요청 별로 구분되어 Request Scope Bean이 저장되어 있으므로 섞이는 일이 발생하지 않습니다.

감사합니다.

마이티님의 프로필 이미지
마이티
질문자

친절한 답변 감사드립니다

마이티님의 프로필 이미지
마이티

작성한 질문수

질문하기