LoginProcessor가 requestScope bean임
요청마다 생성되는 빈이 어떻게 요청이 없는데 생성자로 주입할 수 있는거고
어떻게 매 요청 마다 새로 생성되서 loginProcessor 변수에 삽입 되는거임?
그냥 내 추측으로는 컴파일 될 때 LoginProcessor 인스턴스가 아니라 LoginProcessor 인스턴스를 생성하는 provider? 같은게 주입되는거 같은데 맞음?
LoginProcessor가 requestScope bean임
요청마다 생성되는 빈이 어떻게 요청이 없는데 생성자로 주입할 수 있는거고
어떻게 매 요청 마다 새로 생성되서 loginProcessor 변수에 삽입 되는거임?
그냥 내 추측으로는 컴파일 될 때 LoginProcessor 인스턴스가 아니라 LoginProcessor 인스턴스를 생성하는 provider? 같은게 주입되는거 같은데 맞음?
이 글 보고 궁금해서 찾아봤는데 님 말이 맞는듯 ㅇㅇ Singleton 객체에 Request나 Session scope Bean 객체가 주입되는 경우엔 Scoped Proxy가 주입되어서 이 proxy가 매 요청, 세션마다 Bean 객체를 생성한다고 함.
https://medium.com/hprog99/how-spring-manages-session-and-request-scoped-beans-be50b4cb4f7f
코드 까보니까 완전히 빈이 처음 생성될 때는 AbstractRequestAttributesScope가 ServletRequestAttributes에다가 name이랑, Bean Object, Bean scope 전달하고, Bean scope가 Session이면 HttpSession에다가 저장하고 아니면 HttpServletRequest에다가 저장해서 나중에 Bean객체 다시 가져올 때 session이나 servletRequest한테 받는 느낌인듯.