spring boot build systems

2023년 10월 08일

spring

# SpringBoot# Dependency Management# Maven# Gradle# Ant# Starters

빌드 시스템(Build Systems)

스프링 부트에서는 dependency management를 지원하는 빌드 시스템을 사용하는 것을 강력 추천한다.

공식문서에서는 MavenGradle을 추천하고 있다. 물론, Ant와 같은 다른 빌드 시스템을 사용할 수 있지만 특정 부분에서 잘 지원되지 않을 수 있다.

의존성 관리 (Dependency Management)

스프링 부트의 각 릴리즈는 엄선된 의존성 목록을 제공한다. 실제로, 우리는 빌드 구성에서 이러한 의존성 버전을 제공할 필요가 없다. 왜나하면 스프링 부트가 이것을 관리해주고 있고, 만약 스프링 부트 버전을 업그레이드 한다면, 이러한 의존성들도 일관된 방식으로 업그레이드 된다.

엄선된 의존성 목록은 스프링 부트와 함께 사용할 수 있는 모든 스프링 모듈을 포함하고 있다. 또한, 스프링 부트는 다른 유용한 라이브러리들도 포함하고 있다.

이 목록은 spring-boot-dependencies라는 BOM(Bill of Materials)로 제공된다.

apply plugin: 'io.spring.dependency-management' // BOM을 사용하기 위한 플러그인

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web' // BOM을 사용하면 버전을 명시하지 않아도 된다.
}

스프링 부트의 각 버전은 스프링 프레임워크의 버전과 연관되어있기때문에, 버전을 명시하지않는 것을 강력하게 추천한다고 공식문서에 명시되어있다.

빌드 시스템 종류

  • Maven: Apache Maven Project object model을 기반으로하는 빌드 시스템이다.
  • Gradle: spring-boot-dependencies로 제공되는 의존성 관리를 사용할 수 있다. 스프링 부트의 그레이들 플러그인은 Gradle 7.5 이상을 필요로 한다.
  • Ant: Apache Ant + Ivy를 사용해서 스프링 부트 프로젝트를 빌드할 수 있다.

스타터 (Starters)

© 2025, 미나리와 함께 만들었음