스프링 부트 애플리케이션에서 dependency를 관리하는 방법은 2가지이다
- io.spring.dependency-management plugin 이용
- gradle native bom 지원 이용
io.spring.dependency-management plugin
- plugin에서 제공하는 property를 이용하여 버전 등의 customizing 가능
plugin : https://plugins.gradle.org/plugin/io.spring.dependency-management
plugins {
id 'org.springframework.boot' version '2.7.17'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.kafka:spring-kafka'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.mysql:mysql-connector-j'
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.kafka:spring-kafka-test'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
}
위와 같이 설정하면, spring-boot에서 관리하는 dependency의 경우에는 버전 정보를 명시해 줄 필요가 없다.
해당 spring-boot에서 사용하고 있는 버전은 아래의 링크에서 확인 가능하다
https://docs.spring.io/spring-boot/docs/current/reference/html/dependency-versions.html
{{current}}에 해당하는 정보를 사용하고있는 spring-boot 버전으로 설정
gradle native bom
dependencies {
implementation platform('org.springframework.boot:spring-boot-dependencies:2.7.17')
}
관련 가이드 : https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#managing-dependencies