이동욱 님의 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 공부하면서 내용 정리를 해보려 합니다.
아무래도 2019년도에 출간한 책이다보니 현재 시점에서 버전업이 많이 되면서 책에서 사용한 버전이 에러가 많이 났던것 같습니다. 이와 관련해 이동욱님 블로그 글을 참고하여 진행하였습니다.
plugins {
id 'org.springframework.boot' version '2.4.1'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
group = 'com.j0.book'
version = '1.0-SNAPSHOT' + new Date().format("yyyyMMddHHmmss")
sourceCompatibility=1.8
repositories {
mavenCentral()
jcenter()
}
//for Junit 5
test {
useJUnitPlatform()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.boot:spring-boot-starter-mustache')
// lombok
implementation('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
testImplementation('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
implementation("org.mariadb.jdbc:mariadb-java-client")
implementation('com.h2database:h2')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
스프링 부트와 Gradle이 버전업 되면서 gradle plugin 사용법이 변경 되었습니다.
https://plugins.gradle.org/plugin/org.springframework.boot
각종 의존성들을 받을 원격 저장소를 지정합니다.
기본적으로 mavenCentral을 많이 사용하나 라이브러리 업로드을 위해 많은 과정과 설정이 필요하다는 단점이 있습니다. jcenter가 이런 문제점을 개선했고, mavenCentral에도 업로드 될 수 있도록 자동화 할 수 있습니다.
프로젝트 개발에 필요한 의존성들을 선언합니다.
Gradle 6이 되면서 책에서 사용된 예제 코드의 complie, testCompile은 SoftDeprecate 되었습니다.
그 대신 implementation, testImplementation 가 추가되어 다음과 같이 변경하였습니다.
complie -> implementation
testCompile -> testImplementation
자세한 설명은 링크를 참조