스프링
Spring RequestContextHolder
E재HO
2023. 7. 23. 20:49
RequestContextHolder란 ?
스프링에서 전역으로 Request에 대한 정보를 가져오고자 할 때 사용하는 유틸 클래스이다.
보통 service계층에서 많이 사용되며, 매번 클라이언트에 정보를 요청하는 부담을 줄여준다고 생각한다? 확실하지 않다 . 내 예상임..ㅈㅅ
RequestContextHolder.getRequestAttributes()
이렇게 쓰인다.
문자 그대로 리퀘스트 안의 정보를 가져오는 거다.
그럼 RequestContextHolder는 언제 생기고 어떻게 호출해야 reqeust정보를 가져올 수 있을까?
생성
이 클래스는 Servlet이 생성될 때 Http Request가 오는 시점에 생성 및 초기화 되고 Servlet이 초기화될 때 clean된다.
탐캣이 올라올 때 쓰레드가 하나 생성되고 Servlet을 만들어 낸다.
그 이후 @Component나 @Service @Repository 등이 만들어진 쓰레드 안의 스프링 컨테이너에 등록되는 것이다.
더 필요한 건 더 검색해서 쓰면된다..ㅎㅎ