프로젝트 생성

숭맹이·2025년 4월 21일
0

김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 정리

1. 사전 준비물 체크리스트

  • Java 17 이상 설치 (17 또는 21 추천)
  • IDE: IntelliJ IDEA (Ultimate 권장, 없으면 Community 버전도 OK) or Eclipse
  • Spring Boot 버전: 3.0 이상 필수

2. 스프링 프로젝트 생성 (start.spring.io)

start.spring.io 바로가기

설정 값

항목
ProjectGradle - Groovy
LanguageJava
Spring Boot3.x.x (스냅샷/미리보기 버전 제외)
PackagingJar
Java17 또는 21
Grouphello
Artifacthello-spring
DependenciesSpring Web, Thymeleaf

주의사항

  • 스프링 부트 2.x 선택 불가 (start.spring.io 에서 2.x 지원 종료)
  • 반드시 3.x 버전 선택

3. 스프링 부트 3.x 필수 변경사항

스프링 부트 3.0 이상에서는 몇 가지 필수 변경사항이 있습니다.

1. Java 17 이상 사용

  • 최소 Java 17 필요합니다.
  • JDK 버전 11, 8 사용 시 컴파일 에러 발생 가능성 높음.

2. javax → jakarta 패키지명 변경

기존 javax변경 jakarta
javax.persistence.Entityjakarta.persistence.Entity
javax.annotation.PostConstructjakarta.annotation.PostConstruct
javax.validationjakarta.validation

주의: 패키지명 변경 때문에 구버전 라이브러리 사용 시 충돌 발생할 수 있음.

3. H2 데이터베이스 버전

  • H2 Database는 2.1.214 이상 버전 사용 필수

4. Gradle 설정 예시 (build.gradle)

plugins {
    id 'org.springframework.boot' version '3.1.0'
    id 'io.spring.dependency-management' version '1.1.0'
    id 'java'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}

repositories {
    mavenCentral()
}

Tip: build.gradle 설정은 start.spring.io가 자동으로 만들어주지만, 직접 읽어보며 이해하는 게 중요합니다.


5. 프로젝트 실행 및 검증

  1. 메인 클래스 실행
  2. 웹 브라우저에 접속: http://localhost:8080
  3. 화이트 레이블 에러 페이지(White Label Error Page) 노출 → 성공

주의: 만약 에러가 뜨지 않고 아예 접속이 안된다면 포트 충돌, 네트워크 문제, 의존성 설정 문제를 확인하세요.


6. IntelliJ 최적화 세팅 (실행 속도 향상)

Gradle 대신 IntelliJ로 직접 실행하도록 변경

  1. Preferences > Build, Execution, Deployment > Build Tools > Gradle
  2. Build and run usingIntelliJ IDEA
  3. Run tests usingIntelliJ IDEA

이렇게 설정하면 Gradle 빌드 없이 빠르게 메인 클래스를 실행할 수 있습니다.

profile
👨🏻‍💻 Backend Developer

0개의 댓글