2013년 10월 27일 일요일

Spring 바로알기(1)


>> 스프링 프레임워크에서 POJO 빈의 정보관리
 - properties파일 or XML 파일
- 일반적으로 XML파일을 사용함

>> 스프링이 어떻게 빈정보 담은 XML파일을 읽게하는가?
- web.xml 파일아래 요소추가..
- ContextLoaderListener
 : root WebApplictaionContext를 시작 시키기 위한  Bootstrap listener 임..

스프링 프레임 워크에서 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>


Listener 를 추가해 넣으면 서버가 시작되면서 자동적으로 스프링프레임워크의 ContextLoaderListener 클래스가 초기화 된다.

ContextLoaderListener 는 기본적으로 설정파일이 "/WEB-INF/applicationContext.xml" 로 설정되어 있다.
따라서, 서버가 시작될 때 web.xml 에 따로 설정해 주지 않는다면 기본 설정 파일을 찾아서 로딩하게 된다. 
                                 // Listener 가 정의되지 않았다면 기본설정 파일은
                          // [서블릿이름]-servlet.xml  파일 이다.
                          // 여기서 [서블릿이름] 이란
                                         <servlet>
                                              <servlet-name>dispatcher</servlet-name>
                                              <servlet-class>
                                                    org.springframework.web.servlet.DispatcherServlet
                                              <servlet-class>
                                                   </servlet>
                          // dispatcher 를 정의한 서블리이름 dispatcher가 된다. --> dispatcher-servlet.xml
)
0
이것을 변경하기 위해서는 context-param 을 web.xml 파일에 설정해 주면 된다. (구분은 콤마( ' , ') 나 공백이다. )

<web-app>
       <context-param>
                 <param-name> contextConfigLocation </param-name>
                 <param-value>
                            /WEB-INF/applicationContext.xml ,
                       /WEB-INF/applicationContext-acegi-security.xml ,
                       /WEB-INF/applicationContext-common-authorization.xml,
                       /WEB-INF/applicationContext-acegi-security-memory.xml
                 </param-value>
       </context-param>
</web-app>


 ContextLoaderListener는 스프링을 다른 웹 애플리케이션과 통합하기 위해 사용된다.

+ Log4j 적용 방법

1. Log4j 라이브러리를 다운로드 받아 웹 어플리케이션의  classPath 에 위치시킨다.
2. Web.xml 파일을 수정한다.

<web-app>
...
        <context-param>
               <param-name> log4jConfigLocation </param-name>
               <param-value> /WEB-INF/config/log4j.properties </param-value>
        </context-param>

        <listener>
               <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class>
        </listener>
...
</web-app>


댓글 없음:

댓글 쓰기