2022-코딩 수업 정리
Spring 프로젝트 설정 코드 정리
lee-coding
2022. 10. 13. 17:07
pom.xml
1. 서블릿 버전 맞추기
2. Junit버전 맞추기
3. 스프링 관련 라이브러리 추가
4. MyBais 사용에 필요한 HikariCP, mybatis-spring, Log4jdbc 추가
5. lombok 추가
6. Logging 고치기
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- end:Servlet -->
<!-- Test 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>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- end:스프링 관련 라이브러리-->
<!-- MYBais-->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.7.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
<!-- end:MYBais-->
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<!-- end:lombok-->
<!-- Logging -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.18.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.18.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.18.0</version>
</dependency>
root-context.xml
1. Hikariconfig와 오라클 연결
2. HikariCP 설정
3. sqlSessionFactory 설정
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<!-- 오라클과 연결 시켜주지만 콘솔창이 아래의 코드보다 가독성이 떨어진다. -->
<!-- <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property> -->
<!-- <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"></property> -->
<!-- JUnit 실행시 콘솔창이 깔끔하게 보이도록 한다. -->
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE"></property>
<!-- JUnit 콘솔 출력 설정 끝 -->
<property name="username" value="system"></property>
<property name="password" value="1234"></property>
<!--username과 password는 오라클 설정에 맞춰서 -->
</bean>
<!-- HikariCP configuration -->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
destroy-method="close">
<constructor-arg ref="hikariConfig"></constructor-arg>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
<mybatis-spring:scan base-package="사용하는 패키지 경로.사용하는 패키지 이름"/>
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!-- Appender, Layout 설정 -->
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern=" %-5level %c(%M:%L) - %m%n"/>
</Console>
</Appenders>
<!-- Logger 설정 -->
<Loggers>
<Root level="INFO">
<AppenderRef ref="console"/>
</Root>
<Logger name="org.zerock" level="INFO" additivity="false" >
<AppenderRef ref="console"/>
</Logger>
<Logger name="org.springframework" level="DEBUG" additivity="false"> <AppenderRef ref="console"/>
</Logger>
</Loggers>
</Configuration>
log4jdbc.log4j2.properties
log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator