안녕하세요, 지난주 까지 스프링+Maven 프로젝트를 진행 하고 있었는데, 갑작스럽게 스프링부트+Gradle을 진행하게 되었습니다.

회사에 계신 사수분이 지금 환경을 더 잘 한다고 하셔서 많이 배우고자 변경 하게 되었습니다.


Gradle는 Ant 와 Maven 의 장점을 합쳐 만든 빌드 도구이며 4.x 버전 이후로 개발에 최적화가 진행 되었다고,

빠른 빌드 속도, 동적 요소 관리 유연, 코드 길이와 가독성이 좋은 등 여러가지 장점이 있다고 합니다.




저는 이클립스 기반의 STS를 이용 해서 프로젝트를 생성 하겠습니다.

STS설치, JDK설치 및 설정은 제가 작성한 포스트를 따라 해주시면 됩니다.



1-1. STS 설치는 아래 링크에서 필요한 버전을 다운 받아주세요, 저는 3.9.6 버전을 사용 설치 하였습니다.

https://spring.io/tools3/sts/legacy


1-2. JDK 다운 및 환경 변수 설정

https://gabrielyj.tistory.com/162?category=629044








2. File -> New -> Spring Starter Project










3. 이 부분에서는 프로젝트의 환경 설정을 해주게 됩니다


Service URL : 해당 프로젝트가 다운로드되는 URL 입니다. 프로젝트 생성 Finish 때 연동 됨

Name : 프로젝트 명을 선택, 원하시는 내용으로 네이밍 하셔도 됩니다.

Type : 빌드 방식 설정, Maven이나 Gradle 방식 선택. 선택 방식에 따라서 프로젝트의 구조가 변경 되게 됩니다. 

Packaging : Jar는 embeded 톰캣(내부) 를 사용하고 War는 외부 톰캣을 사용합니다. 기존 Spring의 서버 사용 방식과 똑같습니다.

Java Version : 현재 사용 중인 자바 버전 선택

Language : 프로젝트의 개발 언어 선택

Group / Package : 그룹 및 패키지명을 선택, 원하시는 내용으로 네이밍 하셔도 됩니다.










4. 프로젝트에서 사용될 라이브러리를 시작 하기전에 설정 할 수 있습니다.

하지만 기존 스프링의 Maven 에서는 pom.xml 에 사용자가 원하는 라이브러리를 언제든지 추가가 가능 한 것 처럼,

그레이들에서도 프로젝트 생성 후에 아무때나 추가 할 수 있습니다. 저는 우선 아무것도 선택하지 않고 진행 하겠습니다.










5. 3번 스텝에서 선택된 정보를 바탕으로, 입력된 url 을 통해 zip파일을 내려 받으며 다운로드 완료 후 자동으로 임포트 됩니다.

페이지에서 직접 받게 되시면 zip파일을 다운/압축 해제 후 워크스페이스에 임포트 하시면 됩니다.









6. 생성 완료 후 프로젝트의 구조를 확인 할 수 있습니다.

우선 프로젝트 실행을 한 번 시켜 본 후 , 각 폴더 및 파일의 설명은 다음 포스트에서 진행 하겠습니다.

src/main/java 패키지에 TestController.java 클래스를 만드신 후 아래 간단한 컨트롤러 코드를 입력 해주세요.


package com.theblack.page;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
	@RequestMapping(value="/")
	public String testMethod() {
		return "HelloWorld";
	}
}







7. Run -> Run As -> Spring Boot App 을 실행 하신 다음, 인터넷 창에 localhost:8080 및 설정하신 포트를 입력 해주시면,

아래 첨부된 그림처럼 HelloWorld 가 표시 되는것을 확인 하실 수 있습니다. 










간단하게 필요한 라이브러리에 대해서 설명 드리자면,

Mybatis 생산성/유지보수/성능/이식성을 향상 시키고, 간단하게 DB 사용을 지원 해주는 오픈소스입니다

Mybatis-spring는 하나의 모듈로써 Mybatis와 Spring를 연결 해주는 역할을 합니다.

jdbc는 자바와 데이터베이스의 연결을 해주는 역할을 합니다.

dbcp 디비의 연결을 미리 예측하고 일정 갯수의 connection을 유지하는것 입니다.(효율적인 db사용 가능)


첫 번째로 pom.xml 에 Mybatis, MyBatis-spring 을 추가 해주세요. 각 버젼 확인은 아래 url 에서 해주세요

Mybatis - https://mvnrepository.com/artifact/org.mybatis/mybatis

Mybatis-Spring - https://mvnrepository.com/artifact/org.mybatis/mybatis-spring

spring-jdbc - https://mvnrepository.com/artifact/org.springframework/spring-jdbc

spring-dbcp - https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp


저는 3.4.6(Mybatis) , 2.0.0(Mybatis-Spring), 5.0.0(spring-jdbc), 1.4(commons-dbcp) 을 사용 하겠습니다.



		
		
		
			org.mybatis
			mybatis-spring
			2.0.0
		

		
		
			org.mybatis
			mybatis
			3.4.6
		


		
		
			org.springframework
			spring-jdbc
			5.1.0.RELEASE
		

		
		
			commons-dbcp
			commons-dbcp
			1.4
		




라이브러리 등록이 완료되면 root-context.xml 파일을 설정해야 합니다. 이 파일은 웹과 관련 없는 나머지 객체(bean)을 설정 해줍니다.

원래는 web.xml 최초 서버가 실행될 때 이 파일을 참조 할 수 있게 설정을 해야 하는데, 스프링 프로젝트 생성시 자동으로 입력 됩니다.



	contextConfigLocation
	/WEB-INF/spring/root-context.xml



DB 연결하는 부분은 웹이 아니기 때문에 이부분에서 설정을 해줍니다. (웹은 servlet-context)

아래 항목 중 Namespace를 누르시면 Configure Namespaces 화면을 확인 하실 수 있습니다.

 aop, bean, context, mybatis-spring을 체크 해주세요. 체크를 하시면 아래 그림과 같이 자동으로 bean의 경로가 설정 됩니다.









자동 입력된 root-context.xml 파일에서 주석 밑에 DB접속 정보를 입력 해주시면 됩니다. 

mariadb 는 mysql jdbc를 이용해서 접근이 가능합니다. 찜찜하신 분들은 mariadb jdbc를 사용 해주시면 됩니다.

그리고 dataSource의 destory-method 는 bean 객체의 스코프가 종료될 때 선언된 클래스를 종료하기 위해 close()메소드를 실행 합니다.



	
	
	
      
      
      
      
      
   

   
	
      
      
      
	
    
    
	
      
	
 	



root-context.xml 에 데이터 베이스 관련 정보들을 입력 하신 다음에 아래와 같이 src/main/resources 폴더에

 config, mappers 폴더를 만들어 주세요.

config 폴더에는 mybatis-config.xml 파일을, mappers 폴더에는 testMapper.xml 파일을 생성 해주세요.

각 폴더 및 파일을 생성 하신 다음 아래 내용을 해당 파일에 복사해서 붙여 넣어주세요 !!!

원래 하나의 파일에 설정을 할 수 있지만 저는 다른 config 파일들이 추가 될 예정이라서 효율적인 관리를 위해 따로 등록 하였습니다.






이 두놈은 syntaxHighlight 가 도저히 먹히지 않습니다ㅠㅠ 


(mybatis-config.xml)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration></configuration>



(testMapper.xml)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


  <mapper namespace="mapper">

  

  </mapper>









여기까지 스프링 프로젝트의 DB설정 및 Mybatis 연동이 끝났습니다.

다음 포스트 부터 실제 mybatis를 이용해서 데이터를 불러오고 입력하는 예제를 진행 해보겠습니다.

감사합니다 :)



개인 프로젝트를 진행하기 위해서 DB를 구축해야 할 필요성을 느꼈습니다.

어떤 DB를 사용할지 고민을 하다가 개인 프로젝트에는 mariaDB 가 가장 적합하다 생각했습니다.

mariaDB는 Mysql 의 제작자들이 해당 DB를 기반으로 새로운 DBMS를 개발 하였습니다. 

보통 mariaDB를 Mysql의 자매품이라고 부르는데, 그만큼 호환성이 좋고 Mysql 기능들을 mariaDB에서 사용할 수 있습니다. 


설치 작업을 진행 하겠습니다. 아래 url에서 필요하신 버전을 선택 하시고 설치 파일을 다운로드 해주시기 바랍니다.


https://downloads.mariadb.org/






























우선 DB root권한 접근에 사용될 비밀번호를 입력 해주세요.

그리고 저는 개인 프로젝트를 진행할 때 DB서버를 구축해놓고 원격으로 관리를 하려고 합니다. 

그래서 'Enable access from remote machines for 'root' user' 를 체크 하였습니다.

그리고 서버에서도 default Encoding을 UTF-8로 사용할 예정이기 때문에 'Use UTF8 as default server's character set'도 체크 하였습니다.

























설치가 종료된 후 잘 완료 되었는지 확인 하기위해 mariaDB에 직접 접근 해보려고 합니다.

파일 검색에서 'MySQL Client (MariaDB 10.3(x64)) 를 실행 해주세요.









아래처럼 비밀번호 입력 하라는 콘솔을 뜨면, 설치 당시 입력 하셨던 비밀번호를 입력 해주시면 됩니다.







비밀번호를 올바르게 입력하시면 로칼 DB 서버에 접속하게 됩니다.












+ Recent posts