※ 본 항목은 업데이트 중입니다.


- pom.xml 설정하기

Spring Project를 개발하기 위해서는, pom.xml에 packaging과 property, dependency를 추가 해 주어야 한다.


  - packaging을 war로 설정한다.

<packaging>war</packaging>

  - property에서 Spring Framework version을 설정한다.

    spring.version에 대한 정보는 Github(https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions) 혹은 Spring 공식 사이트(https://spring.io/projects/spring-framework#learn)에서 확인할 수 있다.

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version> 4.3.5.RELEASE</spring.version>
</properties>

  - <dependencies>에서 spring framework에 필요한 spring-context, spring-webmvc, spring-test dependency들을 추가해 준다.

<dependencies>
<!-- Spring 프로젝트에 필요한 dependency -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>

  - JSP를 추가적으로 이용하고자 한다면, JSTL과 EL dependency들을 추가해준다.

<!-- Servlet JSP 사용을 위한 JSTL dependency -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

  - Database 통신을 위해 PlatformTransactionManager와 JDBC, SQL Driver(여기에서는 MySQL), Connection Pool(여기에서는 DBCP2)을 추가한다.

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>

<!-- basic data source -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>

  - 파일 전송을 원한다면, Apache Commons File Upload와 IO를 추가한다.

<!-- Apache Commons FileUpload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>

<!-- Apache Commons IO -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>


</dependencies>

  - JDK 버전과 tomcat 버전을 추가해준다.

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<charset>UTF-8</charset>
<uriEncoding>UTF-8</uriEncoding>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>


- Servlet 3.0 미만에서 web.xml 설정하기

  전통적인 Spring Framework에서는 해당 프로젝트의 /src/main/webapp/WEB-INF 폴더에 web.xml 파일을 추가함으로서 Application Context를 등록할 수 있다. web.xml은 tomcat과 같은 was가 읽어서 등록시킨다.

  web.xml은 아래와 같이 설정한다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app>

<display-name>Spring JavaConfig Sample</display-name>
<context-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>examples.daoexam.config.ApplicationConfig</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>examples.daoexam.config.WebMvcContextConfiguration</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>


</web-app>


'Java Programming' 카테고리의 다른 글

Maven으로 Spring Boot 2 세팅하기  (0) 2018.12.03
Spring Boot 2에서 Thymeleaf 사용하기  (0) 2018.11.21
Java 101 - StringBuffer  (0) 2018.09.03
Java 101 - 생성자(Constructor)  (0) 2018.09.03

WRITTEN BY
장태희

,