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파일 위치변경하기 |작성자 세직사
'Study > Spring' 카테고리의 다른 글
Eclipse maven repository 경로 설정(settings.xml) (0) | 2020.10.07 |
---|---|
Spring에서 myBatis Oracle 연동 (0) | 2020.10.06 |
[Spring] Dao와 Mapper의 차이점 (0) | 2020.05.07 |
[MySql] MySQL DateTime 포맷과 문자열 날짜값의 비교, 그리고 date_format() 날짜 포매팅 (0) | 2020.03.23 |
@Transactional 정리 (0) | 2020.03.23 |
댓글