Hello World?

Spring Boot 배치프로그램 개발 2 (MySQL + logback) 본문

JAVA WEB/SPRING

Spring Boot 배치프로그램 개발 2 (MySQL + logback)

쮠이 2018. 7. 2. 14:56

1편에서 스프링 부트로 소스를 설치한 후,  첫번째로 해야할 작업은  메이븐에 라이브러리를 설치해야 한다

 

기본으로 제공하는 스프링 부트 제공 라이브러리 외에 MySQL과 logback 관련 소스들만 추가를 해보도록 하자

 

아래의 내용을 복사하여 POM.XML에 붙여넣도록 하자

 

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 	
		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	
		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 	

	<modelVersion>4.0.0</modelVersion>
	<groupId>kr.kyoungjin</groupId> 	
	<artifactId>Spring-boot-Batch-Example</artifactId> 	
	<version>0.0.1-SNAPSHOT</version> 	
	<packaging>war</packaging>
	<name>FreelanceManagement</name> 	
	<description>Spring boot Batch Example</description>
	
	<parent> 		
		<groupId>org.springframework.boot</groupId> 		
		<artifactId>spring-boot-starter-parent</artifactId> 		
		<version>2.0.1.RELEASE</version> 		
		<relativePath /> 
	</parent>
	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 		
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 		
		<java.version>1.8</java.version> 		
		<jackson.version>2.9.2</jackson.version> 		
		<mybatis.driver.version>5.1.46</mybatis.driver.version> 		
		<org.slf4j-version>1.7.25</org.slf4j-version> 		
		<ch.qos.logback-version>1.2.3</ch.qos.logback-version> 	
	</properties>

	<dependencies> 		
        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-starter-batch</artifactId> 		
        </dependency>
 		
        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-starter-web</artifactId> 		
        </dependency>

        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-starter-web-services</artifactId> 		
        </dependency>

        <dependency> 			
            <groupId>org.mybatis.spring.boot</groupId> 			
            <artifactId>mybatis-spring-boot-starter</artifactId> 			
            <version>1.3.2</version> 		
        </dependency>

        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-starter-tomcat</artifactId> 			
            <scope>provided</scope> 		
        </dependency>

        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-starter-test</artifactId> 			
            <scope>test</scope> 		
        </dependency>

        <dependency> 			
            <groupId>org.springframework.batch</groupId> 			
            <artifactId>spring-batch-test</artifactId> 			
        	<scope>test</scope> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --> 		
        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-starter-jdbc</artifactId> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core --> 		
        <dependency> 			
            <groupId>ch.qos.logback</groupId> 			
            <artifactId>logback-core</artifactId> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --> 		
        <dependency> 			
            <groupId>ch.qos.logback</groupId> 			
            <artifactId>logback-classic</artifactId> 		
        </dependency>

        <!-- Logging --> 		
        <dependency> 			
            <groupId>org.slf4j</groupId> 			
            <artifactId>slf4j-api</artifactId> 			
            <version>${org.slf4j-version}</version> 		
        </dependency>

        <dependency> 			
            <groupId>org.slf4j</groupId> 			
            <artifactId>jcl-over-slf4j</artifactId> 			
            <version>${org.slf4j-version}</version> 		
        </dependency>

        <dependency> 			
            <groupId>org.logback-extensions</groupId> 			
            <artifactId>logback-ext-spring</artifactId> 			
            <version>0.1.4</version> 		
        </dependency>

        <dependency> 			
            <groupId>org.slf4j</groupId> 			
            <artifactId>jul-to-slf4j</artifactId> 		
        </dependency>

        <dependency> 			
            <groupId>org.slf4j</groupId> 			
            <artifactId>log4j-over-slf4j</artifactId> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.lazyluke/log4jdbc-remix --> 		
        <dependency> 			
            <groupId>org.lazyluke</groupId> 			
            <artifactId>log4jdbc-remix</artifactId> 			
            <version>0.2.7</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>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> 		
        <dependency> 			
            <groupId>mysql</groupId> 			
            <artifactId>mysql-connector-java</artifactId> 			
            <version>${mybatis.driver.version}</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jdbc --> 		
        <dependency> 			
            <groupId>org.apache.tomcat</groupId> 			
            <artifactId>tomcat-jdbc</artifactId> 			
            <version>7.0.19</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> 		
        <dependency> 			
            <groupId>commons-io</groupId> 			
            <artifactId>commons-io</artifactId> 			
            <version>2.4</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-lang/commons-lang --> 		
        <dependency> 			
            <groupId>commons-lang</groupId> 			
            <artifactId>commons-lang</artifactId> 			
            <version>2.3</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> 		
        <dependency> 			
            <groupId>commons-logging</groupId> 			
            <artifactId>commons-logging</artifactId> 			
            <version>1.1.3</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --> 		
        <dependency> 			
            <groupId>commons-codec</groupId> 			
            <artifactId>commons-codec</artifactId> 			
            <version>1.10</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --> 		
        <dependency> 			
            <groupId>commons-beanutils</groupId> 			
            <artifactId>commons-beanutils</artifactId> 			
            <version>1.9.3</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> 		
        <dependency> 			
            <groupId>commons-collections</groupId> 			
            <artifactId>commons-collections</artifactId> 			
            <version>3.2</version> 		
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans --> 		
        <dependency> 			
            <groupId>org.apache.xmlbeans</groupId> 			
            <artifactId>xmlbeans</artifactId> 			
            <version>2.5.0</version> 		
        </dependency>

        <dependency> 			
            <groupId>org.springframework.boot</groupId> 			
            <artifactId>spring-boot-configuration-processor</artifactId> 			
            <optional>true</optional> 		
        </dependency>
 	
	</dependencies>
	
	<build> 		
		<plugins> 			
			<plugin> 				
				<groupId>org.springframework.boot</groupId> 				
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin> 		
		</plugins> 	
	</build>  
	
</project>
위의 내용을 읽어보면, 어렵지 않다.
slf4j , logback 관련 라이브러리들은 Query Logging을 위해 추가한 라이브러리며,
mybatis , mybatis-spring 은 spring에서 지원하는 mybatis 관련 라이브러리들을 사용하기 위한 라이브러리들이다
이외는 필수 라이브러리로 포함한 apache common 라이브러리들이다