Spring Boot 3.x에서 Spring Initializr를 활용한 프로젝트 초기화

기초가 없으면 기술은 흐려지고, 기술이 없으면 기초는 무의미하다.

본 문서에서는 Spring Boot 3.0.3 기반으로 Spring Initializr를 사용해 프로젝트를 신속하게 생성하는 방법과 기본 구조를 설명합니다.

사전 준비: JDK 17 설치

Spring Boot 3.x는 최소 Java 17 이상을 요구합니다. 기존에 Java 8 또는 Java 11를 사용 중이라면 반드시 업그레이드해야 합니다.

다음은 Java 17 주요 기능 개선사항 (JEP):

  • 306: 항상 엄격한 부동 소수점 연산 모드 복원
  • 356: 고도화된 의사 난수 생성기
  • 382: macOS용 새로운 렌더링 파이프라인
  • 391: macOS/AArch64 플랫폼 지원
  • 398: Applet API 폐기 예정
  • 403: JDK 내부 API 강력 캡슐화
  • 406: switch 문에 대한 패턴 매칭(예고판)
  • 407: RMI 활성화 메커니즘 제거
  • 409: 밀봉 클래스(Sealed Classes)
  • 410: 실험적 AOT 및 JIT 컴파일러 제거
  • 411: 보안 매니저 폐기 예정
  • 412: 외부 함수 및 메모리 API(실험 단계)
  • 414: Vector API(제2차 실험 단계)
  • 415: 컨텍스트 기반 역직렬화 필터

프로젝트 생성 방법

1. 웹 기반 생성 (Spring Initializr 공식 사이트)

공식 사이트로 접속하여 다음 항목을 설정:

  • 빌드 도구: Maven 또는 Gradle 선택
  • 언어: Java 등 선택
  • Spring Boot 버전: 3.0.3 지정
  • 프로젝트 정보: 그룹, 아티팩트, 이름, 설명, 패키지명, 패키징 방식, 자바 버전
  • 의존성 추가: 필요한 라이브러리 선택 (예: Web, JPA, Security 등)

설정 후 Generate 클릭 → 압축 파일 다운로드 → 압축 해제 후 개발 환경에 임포트.

2. IntelliJ IDEA 내장 기능 사용

IDEA에서 새 프로젝트 생성 시 Spring Initializr 선택 → 구성 정보 입력 → 의존성 추가 → 생성 완료.

자동으로 src/main/java, resources, test 폴더와 main 클래스 생성됩니다.

프로젝트 구조 분석

├── .mvn/
│   └── wrapper/
│       ├── maven-wrapper.jar
│       └── maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src/
    ├── main/
    │   ├── java/
    │   └── resources/
    └── test/
        ├── java/
        └── resources/

Maven Wrapper

시스템에 전역적으로 설치된 Maven이 없거나 버전 불일치 문제를 피하기 위해 포함된 mvnw 스크립트입니다.

  • .mvn/wrapper/: Wrapper 설정 및 실행 파일 저장
  • mvnw / mvnw.cmd: Linux / Windows용 실행 스크립트

필요시 삭제 가능하지만, 일관된 빌드 환경 유지라면 유지 권장.

pom.xml

프로젝트의 모든 빌드 및 종속성 정보를 정의합니다.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.0.3</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

버전 관리는 부모 POM에서 관리되며, 일반적으로 수동으로 버전을 명시할 필요 없습니다.

java 디렉터리

주요 소스 코드 위치입니다. 자동 생성된 시작 클래스 예시:

@SpringBootApplication
public class Application {

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

@SpringBootApplication는 구성, 자동 설정, 컴포넌트 스캔을 포함하는 핵심 어노테이션입니다.

resources 디렉터리

  • application.properties 또는 application.yml: 애플리케이션 설정
  • static/: CSS, JS, 이미지 등 정적 리소스
  • templates/: Thymeleaf, FreeMarker 등의 템플릿 파일

test 디렉터리

단위 테스트 코드 작성 공간. JUnit 5 기반으로 자동 생성됩니다.

태그: Spring Boot 3 maven Java 17 Spring Initializr pom.xml

6월 11일 20:04에 게시됨