[Spring] web.xml / root-context.xml / servlet-context.xml

LEE YUJIN·2023년 12월 11일
0

Spring

목록 보기
5/6

web.xml

웹 애플리케이션의 전반적인 설정을 담당.
Spring의 핵심 서블릿인 DispatcherServlet의 설정이 포함.
(DispatcherServlet의 설정 파일이 servlet-context.xml)
또한, 웹 애플리케이션의 전체적인 설정을 담당하는 ContextLoaderListener 설정도 포함.
(ContextLoaderListener의 설정 파일이 root-context.xml)

root-context.xml

ContextLoaderListener가 관리하는 애플리케이션 컨텍스트에 등록되는 빈들을 설정.
전체 애플리케이션에서 사용되는 공통 빈들을 등록한다.
service, repository, dao...

servlet-context.xml

DispatcherServlet이 관리하는 웹 관련 빈들을 설정.
controller, VeiwResolver, handlermapping, messagesource, interceptor 등 web과 관련된 빈 등록.

동작 순서

서버가 실행하면

  1. web.xml -> web.xml에 등록된 ContextLoaderListener가 초기화되며, 이 Listener를 위한 설정 파일로 지정된 root-context.xml가 실행된다. root-context.xml에 등록된 빈들이 생성되고, 이들 빈들은 애플리케이션 전체에서 사용될 수 있다.

  2. web.xml에 등록된 DispatcherServlet이 초기화되며, 이 Servlet을 위한 설정 파일로 지정된 servlet-context.xml가 실행된다. servlet-context.xml에 등록된 빈들이 생성되며, 이들 빈들은 웹과 관련된 요청 처리에 사용된다.

servlet-context.xml은 root-context.xml에 등록된 빈을 참조할 수 있지만, 반대로는 참조할 수 없다. 이를 통해 웹 관련 빈과 비즈니스 로직 관련 빈을 분리하여 관리할 수 있다.

profile
개발 공부노트

0개의 댓글