[Spring/개념] Root Context & Servlet Context
카테고리 없음 2017. 11. 27. 10:38
Spring 설정을 처음부터 해보면서 Context, Servlet Context에 대한 개념에 대해 정리하게 되었습니다.
기본적으로 Spring은 여러 Context를 이용해 환경을 구성할 수 있습니다.
그런 설정들을 크게 두 분류로 본다면 Root Context와 Servlet Context로 구분할 수 있습니다.
프로젝트로 구조로 보면 아래처럼 나뉩니다.
저같은 경우는 Servlet Context를 *-servlet.xml 이란 네이밍을 사용했지만 *-context.xml로 사용하시는 분들도 많습니다.
1. Servlet Context
간단하게 Web Application의 요청을 받기 위한 Entry Point(Servlet)의 Context 설정입니다.
그렇기 때문에 Servlet Context에는
- 요청에 대한 처리를 직접적으로 해줄 Controller의 매핑설정(Handler Mapping)
- View를 어떻게 처리할 것인지에 대한 설정(View Resolver)
등이 존재하게 됩니다.
2. Root Contxt
Root Context의 경우 Web Application의 Business/Persistence Layer를 위한 Context 설정입니다.
즉, 데이터의 조회 및 처리, Database에 관한 Bean들에 대한 설정이 주를 이루게 됩니다.
3. Context Hierarchy (단방향)
<Context Hierarchy ref. https://docs.spring.io/spring/docs)