[Spring+Oracle+Mybatis 게시판 만들기 첫번째 시간]
스프링MVC프로젝트 생성 및 pom.xml 수정 및 필요 라이브러리 추가해서
톰캣서버를 통해 프로젝트를 실행시켜본다.
1. STS에서 Spring MVC Project를 생성해준 후 pom.xml에 버전 수정 및 라이브러리들을 받아준다.
<!-- Spring, Java버전 수정 -->
<properties>
<java-version>1.8</java-version>
<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<!-- jUnit, 테스트 관련 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
<scope>test</scope>
</dependency>
<!--MyBatis관련-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!--트랜잭션관련-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!--jdbc관련-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!--log4j2 관련-->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
<!--hikariCP관련-->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.7.4</version>
</dependency>
<!--json관련-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
<!--servlet관련-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
2. 프로젝트 설정에 Project Facets에서 java를 1.8로 바꿔준다.
3. Java build path에서 jre 버전 수정 및 java Compiler에서 java 버전 수정.
4. Java Build Path의 Libraries탭에 ojdbc8.jar추가해준다. Deployment Assembly에도 추가해준다.
5. sql로그를 제대로 보기 위해서 log4jdbc-log4j2 라이브러리를 사용해야한다. pom.xml에는 위에서 추가하였으니,
src/main/resources 밑에 log4jdbc.log4j2.properties 파일을 추가해주면된다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
6. 필요한 로그만 콘솔에서 보이도록 src/main/resource아래 log4j.xml의 로그레벨을 수정해준다.
이때 주의할 점이, src/test/java 밑에 작성한 테스트코드에 대한 로그에 대해서는 src/test/resources 아래 log4j.xml이
따로 있으니 로그레벨을 각각 설정해줘야한다. 아무리 src/main/resource 아래의 log4j.xml에 로그레벨을 변경해도 테스트코드에는 적용되지 않는다..
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="org.zerock.web">
<level value="info" />
</logger>
<!-- Application Loggers -->
<logger name="org.zerock.persistence">
<level value="info" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- [시작]log4j 추가후 필요없는 주석은 로그레벨을 높여줘서 콘솔에 깔끔하게 나오도록 수정함. -->
<logger name="jdbc.audit">
<level value="warn" />
</logger>
<logger name="jdbc.connection">
<level value="warn" />
</logger>
<logger name="jdbc.resultset">
<level value="warn" />
</logger>
<logger name="com.zaxxer.hikari">
<level value="warn" />
</logger>
<!-- [끝]log4j 추가후 필요없는 주석은 로그레벨을 높여줘서 콘솔에 깔끔하게 나오도록 수정함. -->
<!-- Root Logger -->
<root>
<priority value="info" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
7. 추가한 라이브러리들 및 버전들이 문제 없는지 확인해주기 위해 톰캣서버를 실행시키고,
프로젝트 생성시 자동으로 만들어진 HomeController의 url을 호출해본다.
[다음시간 내용]
Oracle DB연결 및 테이블 및 더미데이터를 생성한다.
hikariCP 설정을 한다.
MyBatis 환경을 구성한다.
jUnit을 통해 테스트코드를 작성하여 연결에 이상없는지 확인한다.
'스프링 프레임워크 > Spring+Oracle+MyBatis 게시판 프로젝트' 카테고리의 다른 글
[Spring] Spring + Tiles Framework 연동하기 (0) | 2019.06.07 |
---|---|
[Spring+Oracle+MyBatis]3. 오라클 테스트할 테이블, 더미데이터 생성 (0) | 2019.05.10 |
[Spring+Oracle+MyBatis]2. 프로젝트의 JDBC 연결 (0) | 2019.05.08 |