Spring Boot는 Spring Framework와 달리 프레임워크 빌드, 런타임 등에 필요한 의존성을 자동으로 관리해주는게 큰 장점중에 하나인데요.
Spring Boot에서는 관련 있는 기능 및 의존성을 묶어 하나의 의존성으로 제공하고 개발자들은 필요한 의존성만 선택하여 사용하면 됩니다.
그 안에서 일어나는 라이브러리 간의 호환성, 중복되는 라이브러리로 인한 충돌 등으로부터 자유로워지죠.
이를 Spring Boot 진영에서는 Managed Dependency라고 부르며 아래 링크에서 어떤 의존성들을 관리하고 있는지 볼 수 있습니다.
https://docs.spring.io/spring-boot/docs/current/reference/html/dependency-versions.html
다만 가끔은 이렇게 관리되는 의존성 중에서 특정 라이브러리나 의존성은 다른 버전을 사용하고 싶을때가 있습니다.
Spring Boot managed Dependency에선 특정 라이브러리 버전을 커스터마이즈 할 수 있는 방법을 제공하는데요.
바로 Version Properties를 제공해주어 원하는 버전으로 변경할 수 있게 해줍니다.
Maven 에서는 아래와 같이 properties로 선언해주면 됩니다. 변경가능한 Property명은 https://docs.spring.io/spring-boot/docs/current/reference/html/dependency-versions.html 의 Version Proerties에 정의되어 있습니다.
<properties>
<srping-framework.version>5.3.18</srping-framework.version>
</properties>
Gradle의 경우엔 아래와 같이 할 수 있습니다.
ext['spring-framework.version] = '5.3.18'
이렇게 특정 라이브러리의 버전을 변경할 수 있습니다.
단 버전을 변경할 땐 기존 제공되는 의존성에서 맞춰진 호환성이 더 이상 보장되지 않기 때문에
변경 후 영향도를 반드시 체크해주어야합니다.
'Back-End > Spring framework' 카테고리의 다른 글
SSE를 활용해 웹에서 실시간 데이터 구독 기능 구현 (0) | 2022.05.15 |
---|---|
Spring Boot Tomcat Access Log 필터링 (0) | 2022.03.09 |
Docker Compose 를 이용해 Spring Boot + MySQL 서비스 구축 (기초) (0) | 2022.01.17 |
Spring Boot 애플리케이션 Docker 컨테이너로 배포 (기초) (0) | 2022.01.16 |
[짧은정리] Gradle Multi Module 구성 시 참고사항 (0) | 2021.12.11 |