Spring Boot 개발 환경 설정

Spring Boot 개발 환경 설정

김태홍 (bluemiv)
AD

1. 환경 구성

Spring Boot 개발을 위해 필요한 구성 요소는 다음과 같습니다.

구성 요소설명권장 버전
JDKJava Development Kit17 이상 (LTS)
Build Tool빌드 도구Gradle 또는 Maven

2. JDK 설치

2.1. JDK 버전 선택

Spring Boot 3.x부터는 Java 17 이상 버전이 필요 합니다. LTS(Long Term Support) 버전인 Java 17 또는 Java 21을 사용하는 것을 권장합니다.

Spring Boot 버전최소 Java 버전
Spring Boot 2.xJava 8
Spring Boot 3.xJava 17

2.2. JDK 다운로드

다음 사이트에서 여러개의 JDK 배포판을 선택하여 다운로드 받을 수 있습니다.

2.3. macOS에서 설치 (Homebrew)

brew install openjdk@17
 
# 환경변수 설정 (.zshrc 또는 .bash_profile에 추가)
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH

2.4. Windows에서 설치

  1. Oracle JDK 또는 OpenJDK 다운로드
  2. 설치 파일 실행
  3. 환경변수 설정
    • JAVA_HOME: JDK 설치 경로 (예: C:\Program Files\Java\jdk-17)
    • Path%JAVA_HOME%\bin 추가

2.5. 설치 확인

# Java 버전 확인
java -version
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9)
OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode)

3. 빌드 도구 선택

3.1. Gradle vs Maven 비교

항목GradleMaven
설정 파일build.gradle(.kts)pom.xml
설정 언어Groovy / Kotlin DSLXML
빌드 속도빠름 (증분 빌드)보통
학습 곡선높음낮음
유연성높음보통

최근에는 Gradle을 더 많이 사용합니다.

3.2. Gradle 설치 (선택)

Spring Boot 프로젝트에는 Gradle Wrapper가 포함되어 있어 별도 설치가 필요 없습니다. 만약 전역으로 설치하고 싶다면 아래와 같이 합니다.

# macOS (Homebrew)
brew install gradle
 
# 버전 확인
gradle -v

3.3. Gradle Wrapper 사용

보통 프로젝트에 포함된 Gradle Wrapper를 사용하기 때문에, 팀원 모두 동일한 Gradle 버전을 사용할 수 있습니다.

# macOS / Linux
./gradlew build
 
# Windows
gradlew.bat build

4. Spring Initializr로 프로젝트 생성

4.1. 웹에서 생성

start.spring.io에 접속하여 프로젝트를 생성합니다.

기본 설정:

항목권장 값
ProjectGradle - Kotlin
LanguageJava
Spring Boot3.x.x (최신 안정 버전)
PackagingJar
Java17

4.2. 의존성 추가

기본적으로 추가하면 좋은 의존성

  • Spring Web: REST API 개발
  • Spring Data JPA: 데이터베이스 연동
  • H2 Database: 개발용 인메모리 DB
  • Lombok: 보일러플레이트 코드 감소
  • Spring Boot DevTools: 개발 편의 기능

4.3. IntelliJ에서 직접 생성

  1. FileNewProject
  2. Spring Initializr 선택
  3. 설정 입력 후 의존성 선택
  4. Create 클릭

5. 프로젝트 구조

생성된 프로젝트 구조는 다음과 같습니다.

my-project/
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/example/myproject/
│   │   │       └── MyProjectApplication.java
│   │   └── resources/
│   │       ├── application.properties
│   │       ├── static/
│   │       └── templates/
│   └── test/
│       └── java/
│           └── com/example/myproject/
│               └── MyProjectApplicationTests.java
├── build.gradle.kts
├── gradlew
├── gradlew.bat
└── settings.gradle.kts

5.1. 주요 파일 설명

파일설명
build.gradle.ktsGradle 빌드 설정
application.properties애플리케이션 설정
*Application.java메인 클래스 (진입점)
gradlewGradle Wrapper 스크립트

6. 애플리케이션 실행

6.1. IDE에서 실행

메인 클래스(*Application.java)를 열고 Run 버튼을 클릭합니다.

@SpringBootApplication
public class MyProjectApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(MyProjectApplication.class, args);
    }
}

6.2. 터미널에서 실행

# Gradle로 실행
./gradlew bootRun
 
# 또는 JAR 빌드 후 실행
./gradlew build
java -jar build/libs/my-project-0.0.1-SNAPSHOT.jar

6.3. 실행 확인

# 브라우저 또는 curl로 확인
curl http://localhost:8080

7. 기타 설정

7.1. application.properties 기본 설정

# 서버 포트 변경
server.port=8080
 
# 개발 모드 설정
spring.devtools.restart.enabled=true
 
# 로그 레벨 설정
logging.level.root=INFO
logging.level.com.example=DEBUG

7.2. Lombok 설정 (IntelliJ)

Lombok 사용 시 IDE 설정이 필요합니다.

  1. SettingsBuild, Execution, DeploymentCompilerAnnotation Processors
  2. Enable annotation processing 체크
AD