IT 개발

[Spring Boot 입문] 2장. 개발환경 세팅 (JDK, IntelliJ, Gradle)

genduk 2026. 5. 6. 15:18

📌 이 글은 『처음 만나는 Spring Boot』 시리즈의 2편입니다.

Spring Boot 프로젝트를 시작하기 전에 필요한 개발환경을 세팅합니다.
JDK 21 · IntelliJ IDEA · Gradle · Spring Boot 3.4.5 기준입니다.


2.1 준비물 한눈에 보기

도구 비유 역할
JDK 21 🔥 가스레인지 Java 코드를 실행하는 엔진
IntelliJ 🍳 주방 코드를 작성하는 공간
Gradle 🛒 장보기 목록 라이브러리를 자동으로 가져오는 도구
Spring Boot 📋 레시피 웹 서버를 만드는 틀

2.2 JDK 21 설치

JDK(Java Development Kit)는 Java 코드를 실행할 수 있게 해주는 도구 모음입니다. 이 책은 JDK 21 LTS를 기준으로 합니다.

버전 상태 추천
JDK 17 LTS, 여전히 많이 쓰임
JDK 21 LTS, 현재 실무 표준
JDK 24 최신

📥 설치 방법: https://adoptium.net 접속 → Temurin 21 (LTS) 다운로드 → 설치

# 설치 확인
java -version
# openjdk version "21.0.x" ... 출력되면 성공

2.3 IntelliJ IDEA 설치

Java 개발에서 가장 많이 쓰이는 IDE입니다. 이 책에서는 무료인 Community Edition을 사용합니다.

📥 https://www.jetbrains.com/idea/download → Community Edition 다운로드 후 설치

2.4 Spring Boot 프로젝트 생성

https://start.spring.io (Spring Initializr)에서 프로젝트를 생성합니다. 아래와 같이 설정하세요.

항목 설정값
Project Gradle - Groovy
Language Java
Spring Boot 3.4.5
Java 21
Configuration YAML (properties 대신 yaml 선택)
Group com.example
Artifact myapp
Packaging Jar
Dependencies Spring Web, Spring Boot DevTools, H2 Database

💡 Spring Boot 버전은 SNAPSHOT이나 RC가 붙지 않은 숫자만 있는 버전(정식 GA 버전)을 선택하세요.

2.5 프로젝트 구조 이해

myapp/
├── src/main/java/com/example/myapp/
│   └── MyappApplication.java  ← 실행 진입점
├── src/main/resources/
│   └── application.yml        ← 설정 파일 (YAML 형식)
├── build.gradle               ← 라이브러리 관리
└── settings.gradle

2.6 application.yml 설정

이 책에서는 YAML 형식(.yml)의 설정 파일을 사용합니다. properties보다 계층 구조가 명확해서 가독성이 좋습니다.

spring:
  application:
    name: myapp
  h2:
    console:
      enabled: true
  datasource:
    url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    username: sa
    password:
  jpa:
    hibernate:
      ddl-auto: create-drop
    show-sql: true

server:
  port: 8080

📝 application.properties와 application.yml은 기능이 동일합니다. 이 책은 yml을 사용하지만, 인터넷 예제 대부분이 properties 형식이니 두 가지 모두 읽을 수 있어야 합니다.

2.7 Gradle 의존성 구조

build.gradle 파일에 필요한 라이브러리를 추가하면 Gradle이 자동으로 다운로드합니다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    runtimeOnly 'com.h2database:h2'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

⬅️ 이전 글: 1장. 백엔드 개발자는 뭘 하는 사람인가
➡️ 다음 글: 3장. Spring Boot 프로젝트 첫 실행