• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

빈 스코프 강의에서 '웹 관련 스코프(request, session, application)'의 사용에 대한 질문입니다.

22.05.11 12:49 작성 조회수 180

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
안녕하세요, 빈 스코프 강의 02:20분 부터 '웹 관련 스코프'에 대해 설명하는 영상을 볼 수 있었습니다.

request, session, application 각 스코프의 특징에 대해서 알게 되었지만 application 스코프의 실제 사용 방식에 질문하고자 글을 작성해 봅니다.

request, session 스코프의 사용은 각각 요청과 응답, 로그인 상태 확인 등에 사용하는 것은 이전 MVC 강의와 현업에서의 코딩 등을 통해 알게 되었습니다.

다만, application 스코프에 대해서는 현업에서도 다루는 코드를 볼 수가 없어 자세히 언제 사용하는지 궁금증이 생기게 되었는데요.

아래 제가 생각하는 기능 구현(설계)시 application 스코프를 사용하는 것이 맞는지 첨언 부탁드립니다.

===============================================

[기능 구현(설계)]

요구사항: 홈페이지를 개발하되, 홈페이지의 기본정보(홈페이지명, 고객센터 번호, 소재지, 서비스 이용약관 등)는 '관리자 페이지 > 사이트 기본환경설정' 메뉴를 통해 관리할 수 있게 한다.

구현(설계): 

 1.  데이터베이스(MySQL, Oracle 등)에서 '홈페이지 기본정보'와 관련된 테이블 설계

2. CRUD 프로그래밍

  ㄴ 여기서 '홈페이지 기본정보'를 Read할 때에는 application 스코프에 그 정보를 담아둬서 모든 사용자들이 동일한 정보를 볼 수 있게 함.

** application 스코프에 담는 이유는? 애플리케이션이 종료되기 전까지 딱 한번 자료를 로딩시켜 놓으면 다음부터는 조회할 필요가 없기 때문.

** 우려되는 사항은? 혹시 application 스코프를 사용하는 것이 메모리 부담을 증진시키는지와 만약 '홈페이지 기본정보'가 수정되는 경우 기존에 application 스코프에 등록된 데이터는 어떻게 처리할 것인지...

 

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2022.05.14

안녕하세요. Henu님, 공식 서포터즈 David입니다.

singleton scope로도 충분합니다.

 

application scope는 servlet context당 하나의 빈이 생성되는 것입니다.

이는 dispatcher servlet을 여러 개 사용하는 애플리케이션이 아니라면 크게 의미 없는 얘기 입니다.

 

참고

* https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-factory-scopes-application

감사합니다.