Spring 프레임워크를 사용하면 pom.xml에 필요한 파일들은 명시해주어야 한다.
개인 프로젝트를 하며 작업했던 pom.xml 에 대해 정리하였다.
필요한 dependency를 작성해야 하는데
나는 spring 4 에서 oracleDB, mybatis, json 을 사용한다.
maven repository 최신 버전 확인하는 링크
※ 아래에 적힌 버전들은 당시 최신 버전을 검색해서 정했고,
최신 버전으로 사용하려면 maven repository에서 검색해야 한다. ※
1. JDK 버전 업그레이드
- properties의 java-version 은 1.8로 바꾸어준다.
- <properties>...</properties> 안의 속성값은 ${속성명}으로 치환 가능함
- build의 plugins의 maven-compiler-plugin 의 source 와 target 도 1.8 로 바꿔준다. <자바 컴파일러 설정>
2. Spring 버전 업그레이드
- org.springframework-version 버전을 4.3.29 RELEASE 로 업그레이드
- maven repository 에서 spring-context 검색해 spring4 버전 중 가장 최신 확인!
↓1~2 과정 코드↓
3. Maven 버전 업그레이드
- build 의 plugins 의 maven-eclipse-plugin 버전은 2.10 ,
maven-compiler-plugin 버전은 3.8.0,
exec-maven-plugin 버전은 1.6.0 으로 바꿔준다
↓3 과정 코드↓
4. 한글 파싱 xerces[서세스]
xml 파일은 한글 처리가 잘 안되어
만약 프로젝트가 위치한 폴더 주소에 한글이 포함되있다면
에러가 날 수 있다.
그래서 아래 dependency를 추가해준다.
dependency 에 groupid는 xerces , artifactid 는 xercesImpl , version은 2.11.0
↓4 과정 코드↓
복사용
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>
5. mybatis 사용 설정
dependency에 spring-jdbc commons-dbcp ojdbc6 mybatis-spring 설정
ojdbc는 maven에서 제공하는 라이브러리가 아니므로 repositories 설정
↓5 과정 코드↓
복사용
<repositories>
<repository>
<id>oracle</id>
<name>ORACLE JDBC Repository</name>
<url>www.datanucleus.org/downloads/maven2/</url>
</repository>
</repositories>
복사용
<!-- spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- commons-dbcp -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
<!-- oracle driver -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc10</artifactId>
<version>19.7.0.0</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
6. ORM (Object Relational Mapping) 설정
ORM이란?↓
dependency에 spring-orm 설정
↓6 과정 코드↓
복사용
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework-version}</version>
</dependency>
7. 실행되는 SQL문 콘솔에 출력
만약 sql 문을 사용하여 실행하던 중 오류가 나면 아래에 sql문이 출력된다.
dependency에 log4jdbc-remix 설정
↓7 과정 코드↓
복사용
<!-- 실행되는 SQL 문 출력 -->
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
8. 파일 업로드
자바에서 파일을 업로드 하고 multipart/form-data를 사용하기 위해
dependency에 commons-io 와 commons-fileupload 설정
↓8 과정 코드↓
복사용
<!-- 자바 파일 업로드 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
</dependency>
<!-- multipart / form-data -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
9. JSON
JSON으로 파일 전송할 때 사용하기 위해 dependency에 jackson-databind 설정
↓9 과정 코드↓
예전엔 jackson-mapper-asl을 사용했는데 databind로 대체되었다.
복사용
<!-- json 파싱 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.3</version>
</dependency>
그 외 내가 궁금해서 참고했던 사이트들...
pom.xml에 대해 참고한 사이트
Spring4 사용법 참고 사이트
스프링 mybatis로 오라클 연동
po9357.github.io/spring/2019-05-12-MyBatis_Oracle/#_navigation
dbcp와 c3p0 차이
stackoverflow.com/questions/520585/connection-pooling-options-with-jdbc-dbcp-vs-c3p0
mybatis와 mybatis-spring 둘의 차이
unabated.tistory.com/entry/MyBatisSpring
github.com/seongbin9786/mybatis-and-mybatis-spring-tutorial
ORM 사용 이유
jackson-mapper-asl 사용 안하게 됨
github.com/hyunjun19/axu4j/issues/32
mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl
'IT > 개발' 카테고리의 다른 글
암호화 코드 만들기 (0) | 2021.03.03 |
---|---|
Connection Pool 사용하기,[C3P0] VS [Commons-DBCP2] (2) | 2021.02.19 |
아파치 톰캣 ( Apache Tomcat ) 다운로드 및 설정 (0) | 2021.01.01 |
Eclipse 에서 Spring 다운 받기 (3) | 2021.01.01 |
자바 웹 개발을 위한 초기 설치 및 설정 모음 (2) | 2021.01.01 |