<React.js, 스프링 부트, AWS로 배우는 웹 개발 101>(김다정 지음)을 따라 TO-DO 앱을 하나 만들 예정이다.
앞으로 쓸 대부분의 포스팅(이미지/글)은 위의 서적을 참고/출처로 작성되었음을 미리 밝힌다.
gradle은 빌드 자동화를 도와주는 도구다.
빌드 자동화는 왜 사용할까?
이와 관련해서 → maven에 대해서 정리해 둠 참고..
-> 요약 : 프로젝트 규모가 클 때 빌드를 체계적으로 하기 위해. 라이브러리 관리를 수월하게 하기 위해. 가장 중요한 건 협업! 프로젝트 진행할 때 각자 환경 설정이 다르면 그거 맞추기 번거로움. 이클립스틑 통째로 줄 수 없음^^.. 그런데 메이븐을 쓰면 pom.xml만 주고 받으면 됨. 메이븐의 '의존성' 활용. 그루비도 일종의 빌드 도구! IntelliJ를 켰을 때 선택하게 하는 것들~!
빌드 → 유닛 테스트 실행의 반복 작업을 자동화 해줌
plugins {
id 'org.springframework.boot' version '2.7.2'
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
id 'java'
}
group = 'com.example' // artifact(애플리케이션)을 배포하는데 사용됨, Spring Initializer의 metadata에서 정의한 Group
version = '0.0.1-SNAPSHOT' // 이 프로젝트의 버전
sourceCompatibility = '1.8' // 자바 버전
configurations {
compileOnly {
extendsFrom annotationProcessor
// 롬복 : 어노테이션을 추가하면 컴파일 시 그에 상응하는 코드를 만들어 주는 라이브러리다.
// 롬복이 코드를 작성하려면 어노테이션 프로세서가 필요하다.
// 그래서 여기서 어노테이션 프로세서를 컴파일 당시 사용하라고 그래들에게 알려준다.
}
}
repositories {
// 그래들이 라이브러리를 다운 받는 곳
mavenCentral()
}
// 이 프로젝트에서 사용할 라이브러리를 명시하면 그래들이 리포지터리에서 라이브러리를 다운 및 설치한다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
// 그리고 어노테이션 프로세서로 롬복을 사용하도록 디펜던시에 명시한다.
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}