728x90
스프링 부트는 개발자 대신에 수많은 라이브러리의 버전을 직접 관리해 준다.
이제 개발자는 원하는 라이브러리만 고르고 라이브러리의 버전은 생략해도 된다. 그러면 스프링 부트가 부트 버전에 맞춘 최적화된 라이브러리 버전을 선택해 준다..
버전 관리 기능을 사용하려면 io.spring.dependency-management 플러그인을 사용해야 한다.
build.gradle - plugins 수정
plugins {
id 'org.springframework.boot' version '3.0.2'
id 'io.spring.dependency-management' version '1.1.0'
id 'java'
}
build.gradle - dependencies 수정
dependencies {
//스프링 웹, MVC
implementation 'org.springframework:spring-webmvc'
//내장 톰캣
implementation 'org.apache.tomcat.embed:tomcat-embed-core'
//JSON 처리
implementation 'com.fasterxml.jackson.core:jackson-databind'
//스프링 부트 관련
implementation 'org.springframework.boot:spring-boot'
implementation 'org.springframework.boot:spring-boot-autoconfigure'
//LOG 관련
implementation 'ch.qos.logback:logback-classic'
implementation 'org.apache.logging.log4j:log4j-to-slf4j'
implementation 'org.slf4j:jul-to-slf4j'
//YML 관련
implementation 'org.yaml:snakeyaml'
}
- 라이브러리를 보면 버전 정보가 모두 제거되었다.
dependency-management 버전 관리
- io.spring.dependency-management 플러그인을 사용하면 spring-boot-dependencies 에 있는 다음 bom 정보를 참고한다
- 참고로 spring-boot-dependencies 는 스프링 부트 gradle 플러그인에서 사용하기 때문에 개발자의 눈에 의존관계로 보이지는 않는다.
- 해당 build.gradle 문서안에 보면 bom 이라는 항목이 있다.
- 각각의 라이브러리에 대한 버전이 명시되어 있는 것을 확인할 수 있다.
- 물론 현재 프로젝트에서 지정한 스프링 부트 버전을 참고한다.
- id 'org.springframework.boot' version '3.0.2' : 여기에 저징된 스프링 부트 버전 참고
- 스프링 부트의 버전을 변경해보면 나머지 라이브러리들의 버전도 변하는 것을 확인할 수 있다.
참고 - 스프링 부트가 관리하는 외부 라이브러리 버전을 확인하는 방법
Dependency Versions
docs.spring.io
참고 - 스프링 부트가 관리하지 않는 라이브러리
스프링 부트가 관리하지 않는 외부 라이브러리도 있다. 특히 아직 잘 알려지지 않거나 대중적이지 않은 경우가 그러한데, 이때는 라이브러리의 버전을 직접 적어주어야 한다
728x90
'스프링 부트(핵심 원리와 활용)' 카테고리의 다른 글
| Ch04. 자동 구성(Auto Configuration) - 예제 만들기 (0) | 2023.03.08 |
|---|---|
| Ch03. 스프링 부트 스타터와 라이브러리 관리 - 스프링 부트 스타터 (0) | 2023.03.07 |
| Ch03. 스프링 부트 스타터와 라이브러리 관리 - 라이브러리 직접 관리 (0) | 2023.03.07 |
| Ch02. 스프링 부트와 내장 톰캣 - 스프링 부트 실행 가능 Jar (0) | 2023.03.05 |
| Ch02. 스프링 부트와 내장 톰캣 - 스프링 부트와 웹 서버 (0) | 2023.03.05 |