4.1. 프로젝트 구조 및 의존성
4.1. 프로젝트 구조
4.1.1. Spring Boot 버전
- 필수: Spring Boot 3.x (최신 패치 버전 사용)
- Spring Boot 3.x는 Java 17 이상을 요구하며, 본 규격에서는 Java 21을 표준으로 합니다.
4.1.2. 프로파일 전략
애플리케이션 설정은 프로파일별로 분리합니다.
| 프로파일 | 용도 | 활성화 방법 |
|---|---|---|
local | 로컬 개발 | IDE 실행 시 기본값 |
dev | 개발 서버 | CircleCI 배포 시 지정 |
staging | 스테이징 서버 | CircleCI 배포 시 지정 |
prod | 프로덕션 서버 | CircleCI 배포 시 지정 |
4.2. 의존성 관리
4.2.1. Spring Boot BOM
spring-boot-starter-parent를 parent로 사용하여 의존성 버전을 일괄 관리합니다.
xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.3</version>
<relativePath/>
</parent>4.2.2. 의존성 원칙
- Spring Boot BOM에서 관리하는 의존성은 버전을 명시하지 않습니다.
- 외부 라이브러리는
<properties>에 버전을 정의하고, 해당 속성을 참조합니다. - SNAPSHOT 의존성은 프로덕션 빌드에서 사용하지 않습니다.