spring initializr 를 사용하면 빠르게 spring boot 의 설정을 할 수 있지만,
공부하는 입장에서 build.gradle 의 코드가 무슨 역할을 하는지,
추가로 의존성 추가가 필요하면 어떻게 해야 하는지는 알고 넘어가보자.
먼저 IntelliJ 에서 New Project 로 Gradle 프로젝트를 생성한 후에
build.gradle 파일을 지우고 아래 코드들을 순서대로 작성해보자.
다 작성하고 나면 spring boot 에 필요한 최소 설정은 다 추가되어 있을 것이다.
// build.gradle
buildscript {
ext {
springBootVersion = '2.1.7.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
위 코드는 프로젝트의 플러그인 의존성 관리를 위한 설정이다.
ext 키워드는 build.gradle 에서 사용하는 전역변수를 설정하겠다는 것인데,
여기서는 springBootVersion 라는 전역변수의 값을 ‘2.1.7.RELEASE’ 로 설정하겠다는 뜻이다.
즉, dependencies 의 spring-boot-gradle-plugin 의 2.1.7.RELEASE 를 의존성으로 받겠다는 뜻 !
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
io.spring.dependency-management 플러그인은
스프링 부트의 의존성을 관리해주는 플러그인이니 꼭 추가해주자 !
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
repositories 는 의존성 라이브러리 들을 어떤 원격 저장소에서 받을 지를 결정.
기본적으로 mavenCentral 을 사용한다.
dependencies 는 개발에 필요한 의존성들을 선언하는 곳.
단, 의존성 코드에 특정 버전을 명시하면 안 된다 !
버전을 명시하지 않아야 맨 위에 작성한
spring-boot-gradle:${springBootVersion}
의 버전을 따라가게 된다
마지막으로 Load Gradle Changes 를 클릭하여 변경된 gradle 파일을 반영하면 끝 !
전체 build.gradle 파일은 다음과 같다.
buildscript {
ext {
springBootVersion = '2.1.7.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group 'com.jujuwon.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
이제 의존성 추가할 줄 아니까 start.spring.io 로 가자 ..