** 본 [Spring Note]의 (1) ~ (?) 까지의 정리한 내용는 "코드로 배우는 스프링 웹 프로젝트(개정판)" 를 학습하면서 정리한 것입니다.
Spring Legacy Project > Spring MVC project 로 생성(이하 "기본 생성" 라고 함)한 기본 POM.xml 설정 값을
내 프로젝트에 맞게 다음 사항을 변경한다..
0. 내 프로젝트 환경
- Tomcat 8.x / java 1.8 / Maria DB 10.x
1. properties 의 <java-version> 를 1.6에서 1.8로 변경함.
- 주의 사항 : maven-compiler-plugin > configuration > source / target 도 1.8로 변경해야함
2. properties 의 <org.springframework-version>를 "3.1.1.RELEASE" 에서 "4.3.20.RELEASE" 로 변경함
- Tomcat 9.0 버전인 경우에는 spring 5.0.7.RELEASE 를 사용함
- 내 프로젝트 환경은 Tomcat 8.x 로 spring 4.x를 사용함
3. <org.aspectj-version>과 <org.slf4j-version>는 Spring 5.x에서 AOP를 사용할 경우 변경함
- <org.aspectj-version> : 1.6.10 -> 1.9.0
- <org.slf4j-version> : 1.6.6 -> 1.7.25
4. spring-context, spring-webmvc 는 <org.springframework-version> 으로 기본 설정됨(변경사항 없음)
5. VO 클래스의 Setter/Getter 등을 자동 셑팅해주는 lombok 라이브러리 추가(p54)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
6. AspectJ 관련한 aspectjrt 는 <org.aspectj-version> 으로 기본 설정됨(변경 사항 없음)
7. Logging 관련한 slf4j-api, jcl-over-slf4j, slf4j-log4j12 는 <org.slf4j-version> 으로 기본 설정됨(변경사항 없음)
- 다만, log4j 의 <exclusions>,<scope> 설정을 지우고, <version>를 1.2.16 으로 변경하고
- 아래 log4jdbc-log4j2-jdbc4 를 추가함
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
* Java Resources > src/main/resources 에 log4jdbc-log4j2.properties 설정 파일을 추가함
[설정 파일 내용]
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
* log 레벨 : src/test/resources/log4j.xml (p104) >> [심화학습]
8. Inject 관련 설정은 변경 사항 없음
9. Servlet 관련 설정은 아래와 같이 변경된 <artifactId>, <version> 복사하여 사용함( 다만, jstl는 1.2 로 유지함 )
<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.0</version>
<scope>provided</scope>
</dependency>
10. Test관련 junit 은 4.7에서 4.12로 변경함.
** 11번 부터는 기본 생성 pom.xml에 없는 추가 라이브러리 추가임
11. 커넥션풀 라이브러리 HikariCP 추가 / 버전 2.7.4 (참고 링크)
12. MySQL 관련 추가 설정 및 버전(p90)
- mysql-connector-java
- mybatis
- mybatis-spring
- spring-tx
- spring-jdbc
13. JSON 관련 jackson-databind 추가 / 버전 2.9.7
14. 파일 첨부 관련 commons-fileupload 추가 / 버전 1.3.3
15. 6번 AspectJ 밑에 AOP 관련 aspectjweaver 추가 / 버전은 org.aspectj-version으로 기본 설정함
------ 추가 설정 내용 ------
A1. spring security 관련 추가 설정(p608 참고)
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
'[B] Spring Note' 카테고리의 다른 글
10) ex04 프로젝트 - AOP (0) | 2018.12.04 |
---|---|
5) security-context.xml 설정하기 (0) | 2018.11.18 |
4) servlet-context.xml 를 내 프로젝트에 맞도록 변경하기 (0) | 2018.11.14 |
3) root-context.xml 를 내 프로젝트에 맞게 변경하기 (0) | 2018.11.14 |
2) web.xml 를 내 프로젝트에 맞게 변경하기 (0) | 2018.11.14 |