※ 사용한 버전은 Ultimate이나 Comunity 버전을 써도 상관없음.
IntelliJ를 사용하는 김에 Spring initializr 를 사용하지 않고 Gradle 프로젝트로 만들어서 SpringBoot Project로 만들어 보고자 한다.
요즘은 Spring initializr 를 사용하여 생성하는 글만 있는거 같아 Gradle 의존성과 작동 방식을 조금이라도 이해 하고자 작성하였다.
1. Gradle 프로젝트 생성
처음 Gradle 프로젝트를 생성하면 build.gradle 파일이 다음과 같다.
2. 전역변수 설정
build.gradle파일에서 전역으로 사용할 전역변수를 설정하려고 한다.
생성된 build.gradle 파일 내 최상단에 아래 코드를 작성한다.
buildscript {
ext {
springBootVersion = '2.6.1'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
우선 buildscript는 이 프로젝트의 플러그인 의존성 관리를 위한 설정이다. (IntelliJ 플러그인 설정 관리가 아님)
ext는 build.gradle에서 사용하는 전역변수를 설정하겠다 라는 의미이다.
- springBootVersion이라는 전역변수를 생성하고 그 값을 '2.6.1'로 설정을 하였다.
repositories는 라이브러리(의존성)을 어떤 원격 저장소에서 가지고 올지 정하는 곳이다.
- JCenter를 사용하는 개발자도 있지만, 현재는 JFrog에서 JCenter를 단순히 읽기전용 저장소로 변경하였기에 필자는 사용하지 않음.
2. 필수 Plugin 추가
자바와 스프링부트를 사용하기 위해서는 아래와 같은 플러그인을 필수로 추가해야 한다.
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
io.spirng.dependency-management 는 스프링부트 의존성을 관리해주는 플러그인이라 꼭 추가 해야함.
3. 의존성 및 그 외 설정 추가
위 코드를 추가하면 기본적인 설정은 끝이지만 사용하고자 하는 라이브러리와 프로젝트 자바 버전을 설정하기 위해서는 아래와 같이 설정하면 된다.
group 'com.gunho.gradle1'
version '1.0-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
sourceCompatibility 는 자바 버전을 작성하면 된다. 현재 여기에서는 11버전을 사용하였다.
dependencies 에서는 프로젝트에서 사용할 라이브러리(의존성)을 작성하면 된다.
- IntelliJ에서는 강력한 자동완성 기능이 있으니, 단어 하나 하나 작성하면서 자동완성 기능을 맛보는 것도 추천한다. (단축키는 mac, window 둘다 Ctrl + Space이다.)
위 작성이 다 끝났으면 정상적으로 SpringBoot 프로젝트로 변경한 것이다.