스프링 핵심 원리(기본편)

Ch09. 빈 스코프 - 스코프와 Provider

webmaster 2022. 2. 23. 13:43
728x90
  • 첫 번째 해결방안은 앞서 배운 Provider를 사용하는 것이다

Provider를 사용한 해결 1
Provider를 사용한 해결 2

  • ObjectProvider 덕분에 ObjectProvider.getObject()를 호출하는 시점까지 request scope 빈의 생성을 지연할 수 있다.
  • ObjectProvider.getObject()를 호출하시는 시점에는 HTTP 요청이 진행 중이므로 request scope 빈의 생성이 정상 처리된다.
  • ObjectProvider.getObject() 를 LogDemoController , LogDemoService에서 각각 한 번씩 따로 호출해도 같은 HTTP 요청이면 같은 스프링 빈이 반환된다! 
  • 이 정도에서 끝내도 될 것 같지만… 개발자들의 코드 몇자를 더 줄이려는 욕심은 끝이 없다.
728x90