YONG-MIN

[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 (단방향)

설명이 너무 미흡해서 자세한 내용을 알고 싶으신 분들은 [Spring Docs: Spring Web MVC] 를 참고해보시면 도움이 될 것 같습니다.


<Context Hierarchy ref. https://docs.spring.io/spring/docs)