스프링부트에서 제공하는 간편한 기능 중 하나가 자동으로 라이브러리 관리를 해주는 기능이다. 과거에는 스프링을 사용하려면 현재 스프링 버전과 호환되는 라이브러리 버전을 찾아서 직접 다 작성하고 설정까지 해주어야 했다고 한다. 하지만 지금 스프링부트를 사용하게되면 자동으로 필요한 라이브러리를 관리해주니 편하게 사용할 수 있다.
직접 라이브러리 버전 작성

직접 라이브러리 버전을 명시하여 사용하려면 io.spring.dependency-management 플러그인을 사용하지 않으면 된다.

그 다음 필요한 라이브러리 버전을 직접 작성하면 된다.
스프링 부트 라이브러리 관리 사용

이번에는 앞서 비활성화했던 플러그인을 다시 활성화한다.

그리고 버전명을 제외한 라이브러리를 포함시키면 스프링 부트에서 알아서 스프링 프레임워크 버전에 맞는 라이브러리 버전을 사용한다.
Managed Dependency Coordinates :: Spring Boot
Managed Dependency Coordinates :: Spring Boot
docs.spring.io
단, 모든 라이브러리를 자동으로 구성해주는 것은 아니고 스프링 부트에서 공식으로 지원하는 라이브러리만 관리해준다. 위 링크에서 스프링 부트에서 자동으로 버전 관리를 해주는 라이브러리 목록을 확인할 수 있다.

제일 위에 작성했던 implementation 'org.springframework:spring-webmvc'를 확인해보니 당연한거지만 공식으로 webmvc를 지원하는 것을 알 수 있다. 그래서 버전명을 표시하지 않아도 작동하는 것이다.
spring-boot/spring-boot-project/spring-boot-dependencies/build.gradle at main · spring-projects/spring-boot
Spring Boot. Contribute to spring-projects/spring-boot development by creating an account on GitHub.
github.com
위 링크에서도 스프링 부트 버전별 포함되는 라이브러리 버전이 미리 작성되어 있는 것을 확인할 수 있다.
스프링 부트 스타터 사용

스프링 부트 스타터 라이브러리를 포함시키게 되면 앞서 일일이 적었던 라이브러리들을 모두 적지 않아도 자동으로 프로젝트에 포함된다.

Gradle 탭에서 확인해보면 web과 관련된 라이브러리들을 자동으로 가져오는 것을 확인할 수 있다.
다만 이 방법도 마찬가지로 스프링 부트에서 지원하는 라이브러리만 해당한다. spring-boot-starter로 제공하는 라이브러리는 다음 링크에서 확인할 수 있다.
Build Systems :: Spring Boot
Each release of Spring Boot provides a curated list of dependencies that it supports. In practice, you do not need to provide a version for any of these dependencies in your build configuration, as Spring Boot manages that for you. When you upgrade Spring
docs.spring.io

만약 스프링 부트에서 자동으로 사용하는 버전이 아니라 직접 특정 라이브러리 버전을 사용하고 싶으면 위와 같이 작성해주면 된다. ext[] 내부에 작성되는 이름은
Version Properties :: Spring Boot
Version Properties :: Spring Boot
The following table provides all properties that can be used to override the versions managed by Spring Boot. Browse the spring-boot-dependencies build.gradle for a complete list of dependencies. You can learn how to customize these versions in your applic
docs.spring.io
여기서 확인하면 된다.

스프링 부트 - 핵심 원리와 활용 강의 | 김영한 - 인프런
김영한 | 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., 백엔드 개발자를 위한 스프링 부트 끝판왕! 실무에 필요한 내용을 모두 담았습니다. [임베딩 영상] 김영한의 스
www.inflearn.com
'공부 > Spring' 카테고리의 다른 글
| [Spring Boot] @EnableAutoConfiguration, @ImportSelector 알아보기 (0) | 2024.08.30 |
|---|---|
| [Spring Boot] 스프링 부트 자동 구성 및 @Conditional 알아보기 (0) | 2024.08.27 |
| [Spring] 톰캣 라이브러리로 직접 실행하기 및 jar의 문제점 (0) | 2024.08.05 |
| [Servlet] 서블릿 컨테이너 초기화 (0) | 2024.08.04 |
| [Spring] 포인트컷 지시자(Pointcut Designator) (0) | 2024.07.31 |