Inflearn Community Q&A
getObject 로 Mylogger 를 가져오는 부분에서 이해가 잘 안되는 부분이 있어 질문드립니다.
Written on
·
274
0
LogDemoService 와 LogDemoController 에서
생성자 주입으로 myLoggerOjbectProvider 를 만들땐 다른 객체를 만들어 생성 주입 하는데
request scope 내에서 getOjbect에서 꺼내온 myLogger 가 어떻게 동일한 객체인지가 궁금합니다 ㅎㅎ
oopspring
Answer 1
3
안녕하세요. 하종윤님, 공식 서포터즈 David입니다.
.
Controller, Service 내 ObjectProvider<MyLogger> myLoggerProvider가 서로 다른데
서로 다른 myLoggerProvider로부터 getObject()의 반환값인 MyLogger가 서로 같은가?
에 대해서 질문하신게 맞나요?
ObjectProvider의 역할은 제네릭으로 넘어온 타입의 빈을 빈 저장공간으로부터 찾아서 반환해주는 것입니다.
그러므로 ObjectProvider 자체는 서로 달라도 상관없습니다.
ObjectProvider는 요청을 식별하여 현재 요청과 관련있는 MyLogger 빈을 꺼내줍니다.
아래 그림처럼 A 전용 MyLogger 빈을 꺼내주는 것이죠.
그러므로 ObjectProvider의 서로 다름과 별개로 동일한 요청에 대해서는 어디서든(Controller, Service) 동일한 MyLogger 빈이 반환되게 됩니다.
.
감사합니다.





