본문 바로가기
Study/Spring

Context파일 위치 변경

by 오늘만 사는 여자 2020. 10. 5.
728x90
반응형

Spring에서 사용되는 Context들 파일 위치 변경하기


 

root-context.xml란? 

- JSP와 관련없는 객체(Bean)을 설정한다. (Service, Repository)

- 비즈니스 로직을 위한 설정을 한다.

- 외부 jar파일등으로 사용하는 클래스는 <bean>태그를 이용해 작성한다.

- 공통 빈을 설정한다.

 


servlet-context.xml이란? 

- JSP와 관련있는 객체(Bean) 설정 - controller, MultipartResolver, Interceptor(로그인 등)

- WEB Application에서 client 요청을 받기 위한 설정

- 어노테이션 <annotation-driven/>

- URL 관련 설정

 

servlet-context.xml같은 경우 jsp와 관련된 설정을 한다. 

jsp에서 js, image, css와 같은 resource 찾기 위한 설정을 한다.

 

요 두가지의 파일들의 경로 지정은 /webapp/WEB-INF/ 디렉토리에 있는 web.xml 파일이다.

 

처음 spring 프로젝트를 생성하면 web.xml을 살펴보면

<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring/root-context.xml</param-value> 
	</context-param>
    
    <!-- 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>

지정되어 있다. 

 

이제 web.xml에 설정한 경로를 변경해보자.

 

1. /src/main/resources 디렉토리 아래에 /config/spring 폴더를 생성.

 

2. 기존의 servlet-context.xml 파일과 root-context.xml파일을 /src/main/resources/config/spring폴더 아래로 이동

 

3. web.xml파일 내용 수정

   파일명의 일부를 체크해서 로딩할 수 있도록 수정한다.

   ex> "*-context.xml" 로 설정해두면 a-context.xml, b-context.xml 등의 파일을 로딩 할 수 있다.

 

<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:config/spring/*-context.xml</param-value>
	</context-param>
	
	<!-- 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>classpath:config/spring/*-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

4. "root-context.xml" 파일명을 "기능명-context.xml" 로 변경

  - 향후에 기능명을 변경해서 파일을 추가해가면된다.

 

5. 기존의 /webapp/WEB-INF/spring 폴더 삭제

 

6. tomcat서버 재기동

 

 

Reference :  Spring context파일 위치변경하기 |작성자 세직사

728x90
반응형

댓글