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