스프링 개발을 위한 준비를 해봅시다. 이 자료는 개인적인 학습 용도로 사용하시고, 회사에서의 사용은 회사의 정해진 설정 방법에 따라 사용하시기 바랍니다
WEB-INF 파일 밑에 다음의 디렉토리들을 생성합시다.
- conf : 스프링의 컨텍스트 설정 파일을 분리하여 모아두기 위한 디렉토리
- jsp : MVC 프로그래밍에서 중요한 View인 JSP를 모아두기 위한 디렉토리, 다른 View를 사용한다면 다른 이름을 추천
- log : log4j 설정 파일을 넣어두기 위한 디렉토리
WE-INF/lib 디렉토리에 필요한 라이브러리들을 추가해 봅시다. 지금 적는 모든 파일은 spring-dependencies 패키지에 포함되어있습니다.
[code]antlr-2.7.6.jar
asm-2.2.3.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar
aspectjrt.jar
aspectjweaver.jar
cglib-nodep-2.1_3.jar
commons-beanutils.jar
commons-codec.jar
commons-collections.jar
commons-dbcp.jar
commons-digester.jar
commons-discovery.jar
commons-fileupload.jar
commons-httpclient.jar
commons-io.jar
commons-lang.jar
commons-logging.jar
commons-pool.jar
commons-validator.jar
jstl.jar
junit-4.4.jar
log4j-1.2.15.jar
spring.jar
spring-agent.jar
spring-aspects.jar
spring-test.jar
spring-web.jar
spring-webmvc.jar
standard.jar[/code]
더 필요하신것을 추가하시거나 빼셔도 됩니다. 다음으로는 중요한 설정 파일들을 설정해 봅시다.
/WEB-INF/web.xml
[code]<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://java.sun.com/xml/ns/javaee” xmlns:web=”http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd” xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd” id=”WebApp_ID” version=”2.5″>
<!–
GENERAL CONFIGURATIONS
–>
<display-name>SpringBlank</display-name>
<!–
REQUEST CHARSET ENCODING CONFIGURATIONS
–>
<filter>
<filter-name>Request Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Request Encoding</filter-name>
<servlet-name>spring</servlet-name>
</filter-mapping>
<!–
SPRING FRAMEWORK DISPATCHER SERVLET CONFIGURATIONS
–>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!–
CONTEXT LOADER CONFIGURATIONS
–>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/conf/**-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!–
LOG4J LOGGER CONFIGURATIONS
–>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
</web-app>[/code]
/WEB-INF/spring-servlet.xml
[code]<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans“
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
xmlns:aop=”http://www.springframework.org/schema/aop“
xmlns:context=”http://www.springframework.org/schema/context“
xmlns:tx=”http://www.springframework.org/schema/tx“
xmlns:util=”http://www.springframework.org/schema/util“
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd“>
<!–
ANNOTATION CONTEXT DEFINITION
–>
<context:component-scan base-package=”*”/>
<context:annotation-config/>
<context:spring-configured/>
<!–
ASPECT ORIENTED PROGRAMMING(ASPECT-J) DEFINITION
–>
<aop:aspectj-autoproxy/>
<!–
VIEW RESOLVER CONFIGURATIONS
–>
<bean id=”viewResolver” class=”org.springframework.web.servlet.view.InternalResourceViewResolver”>
<property name=”viewClass” value=”org.springframework.web.servlet.view.JstlView”/>
<property name=”prefix” value=”/WEB-INF/jsp/”/>
<property name=”suffix” value=”.jsp”/>
</bean>
</beans>[/code]
/WEB-INF/log/log4j.properties
[code]# LOG LEVEL : FATAL > ERROR > WARN > INFO > DEBUG
##################################################################################################
# ROOT LOGGER CONFIGURATION #
##################################################################################################
log4j.rootLogger=INFO,ROOT
log4j.appender.ROOT=org.apache.log4j.ConsoleAppender
log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout
log4j.appender.ROOT.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]\t%p\t[%F.%M():%L]\t%m%n
##################################################################################################
# SPRING FRAMEWORK LOGGER CONFIGURATION #
##################################################################################################
log4j.logger.org.springframework=INFO, SPRING
log4j.additivity.org.springframework=false
log4j.appender.SPRING=org.apache.log4j.ConsoleAppender
log4j.appender.SPRING.layout=org.apache.log4j.PatternLayout
log4j.appender.SPRING.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]\t%p\t[%F.%M():%L]\t%m%n[/code]
이로써 무언가를 개발해보기 위핸 블랭크 프로젝트가 생성되었습니다. 어노테이션 기반의 MVC 프로젝트 및 AOP적용이 가능합니다.