전역 정보를 빈으로 등록하여 반복 작성 코드 줄이기

‍bng4535·2023년 4월 2일

문제 상황

모든 페이지에서 출력되는 레이아웃 html의 header 부분에 로그인한 사용자의 정보를 출력해야 한다면, 어떤 페이지에 접속하든 해당 컨트롤러에서 view에게 model을 통해 사용자 정보를 전달해야 한다.

문제

  • 모든 페이지 마다 view에 사용자 정보를 전달하는 코드를 반복 작성 해야 한다.

해결

  • @RequestScope는 Spring Bean의 인스턴스를 HTTP 요청 당 하나씩 생성하는 라이프 사이클이다. 즉, 각각의 HTTP 요청마다 새로운 빈 인스턴스가 생성되므로 이를 활용한다.
  • 빈으로 등록된 객체에 대해 템플릿 엔진은 @를 통해 접근할 수 있다.
  • 로그인한 사용자 정보와 같은 전역적으로 사용되는 정보를 빈으로 등록하는 것

코드

https://github.com/hanbonghun/gramgram/commit/bef4466f5f8d2c8eca8f9c29f1d2b7c7a3ce1893

profile
공부 기록

0개의 댓글