본문 바로가기
SPRING

스프링의 xml의 역할

by brilliant-growth 2024. 7. 1.

1. web.xml
웹 어플리케이션 서버(WAS ex.Tomcat)가 최초로 구동될 때 각정 설정을 정의.
파일 내에서 여러 xml파일을 인식이 가능하게 설정이 되어있다.

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/spring/root-context.xml</param-value>
	</context-param>

	<!-- Creates the Spring Container shared by all Servlets and Filters -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- Processes application requests -->
	<servlet>
		<servlet-name>appServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
<context-param>

 

<context-param> 태그에서 root-context로 모든 서블릿과 필터들이 공유됨
<listener> 태그로 모든 서블릭솨 필터들에 공유되는 스프링 컨테이너를 생성함
=> root-context에 정의되어있는 것들을 모든 서블릭들과 필터가 공유할 수 있게 된다.
( = web.xml 파일 덕에 root-context에 설정한 내용이 사용 가능해짐)

 

 

2. servlet-context.xml
웹 어플케이션에서 클라이언의 요청을 받기 위한 설정, 요청과 관련된 객체를 정의한다.
url과 관련된 Controller, Annotation, ViewResolver, Interceptor, MultipartResolver 등의 설정을한다.

 

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->

 

위의 주석을 해석하면 "DispatcherServlet Context : 이 서블릿의 요청처리 인프라를 정의한다." 

즉, DispatcherServlet와 관련된 설정이다.

 

3. root-context.xml
servlet-context 와는 반대로 view와 관련되지 않은,

Service, Repository(DAO), DB등의 비즈니스 로직과 관련된 설정을 해준다.

 

 

전자정부프레임워크 xml 설정

'SPRING' 카테고리의 다른 글

Retry 와 Recover  (0) 2024.05.30
ehcache  (0) 2024.05.30
db 이중화 작업(springBoot,mybatis)  (0) 2023.11.24
MVC 패턴 구현 순서  (1) 2023.11.24
스프링 설정에 관하여(web.xml,servlet-context.xml,root-context.xml)  (1) 2023.11.24