[Spring] request scope bean과 provider에 대한 나름의 이해
2023. 11. 2. 13:49ㆍSpring
request scope bean은 request가 들어와서 나갈때까지 유지된다.
이를 UUID를 통해서 확인해 볼 수 있다.
UUID는 세계에서 딱 하나 존재하는 유니크한 ID이다.
UUID는 이 빈을 통해 출력된 곳에서 모두 동일했다.
그런데 controller에서 빈을 생성자 주입을 통해 받을 때 이 빈은 없다.
왜냐하면 controller 생성 시점에는 요청이 들어오지 않았기 때문이다. 따라서 오류가 난다.
이를 해결하기 위해서 Provier나 ObjectProvider를 이용한다.
주입을 받는 것은 request scope bean이 아니라 이 빈을 룩업하는 provider이다.
그리고 요청이 들어오는 로직에서 빈을 조회하면 객체가 생성된다. 이때는 요청이 들어왔기 때문에 오류가 발생하지 않는다.
이 문제를 provider보다 더 쉽게 해결할 수 있다고 한다.
Reference
학습 페이지
www.inflearn.com
'Spring' 카테고리의 다른 글
[Spring] 웹서버, 웹애플리케이션 서버에 대한 나름의 이해 (0) | 2023.11.10 |
---|---|
[Spring] request scope bean과 proxy의 관계에 대한 나름의 이해 (0) | 2023.11.02 |
[Spring] Web Scope에 대한 나름의 이해 (0) | 2023.11.02 |
[Spring] 싱글톤 빈과 프로토타입 빈을 함께 사용할 때 생기는 문제점에 대한 해결책에 대한 나름의 이해 (1) | 2023.11.02 |
[Spring] 싱글톤 빈과 프로토타입 빈을 함께 사용할 때 생기는 문제점에 대한 나름의 이해 (0) | 2023.11.02 |