티스토리 뷰
스프링 프레임 워크에서 POJO 빈에 대한 정보를 Properties 파일이나 XML 파일을 이용하여 POJO 빈에 대한 정보를
관리한다. 일반적으로 대부분의 애플리케이션에서는 XML파일을 사용한다. 그러면 이러한 XML 파일을 스프링 프레임 워크가
어떻게 찾아낼까??
먼저 스프링이 POJO빈에 대한 정보를 담은 XML 파일을 읽을 수 있도록 하기 위해서는 web.xml 파일에 아래의 요소를 추가하는 것이
필요하다. ContextLoaderListener는 스프링의 root WebApplicationContext 시작 시키기 위한 Bootstrap listener 이다.
<web-app..>
...
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
...
</web-app>
이 부분을 추가해 넣으면 서버가 시작되면서 자동적으로 스프링프레임워크의 ContextLoaderListener 클래스가 초기화 된다. ContextLoaderListener에는 기본적으로 설정파일이 "/WEB-INF/applicationContext.xml"로 설정되어 있다. 따라서 서버가 시작될 때 web.xml 에 따로 설정해 주지 않는다면 기본 설정 파일을 찾아서 로딩하게 된다. 이 것을 변경하기 위해서는 context-param을 web.xml 파일에 설정해 주면 된다. param-name은 "contextConfigLocation"이다. value로는 원하는 경로로 설정해 주면된다. 아래는
예제이다.
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext .xml</param-value>
</context-param>
<listener/>
...
</web-app>
설정 파일은 분리하여 여러개로 구성 할 수 있다. 파일의 구분은 "," 나 공백으로 한다. 아래는 예제이다.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext-acegi-security.xml,
/WEB-INF/applicationContext-common-authorization.xml,
/WEB-INF/applicationContext-acegi-security-memory.xml,
/WEB-INF/applicationContext-pentaho-security-memory.xml,
</param-value>
</context-param>
또한 ant 스타일의 경로패턴을 적용하여 설정 할 수 있는데 param-value 값을 "/WEB-INF/applicationContext*.xml"으로 설정하게 되면
위의 예제와 같은 효과를 보게 된다.
추가정보: ContextLoaderListener는 스프링을 다른 웹 애플리케이션과 통합하기 위해 사용된다.
'웹 > 스프링 프레임워크' 카테고리의 다른 글
typealias 문제 (0) | 2018.07.26 |
---|---|
jsp파일 위치문제 (0) | 2018.07.26 |