
21
1
장
스프링 부트
전반에서 사용됩니다. 이런 패턴이 바로 ‘스프링 부트 스타터’에 반영됐습니다.
spring-boot-starter-web
같은 단일 스타터를 추가하면 단일 애플리케이션에 필요한 기능
을 모두 제공합니다. 단일 스타터에 포함된 여러 의존성 안에 들어 있는 각 의존성 내의
여러 라
이브러리 버전
이 모든 의존성에 맞게 동기화됩니다.
3
즉, 모든 의존성 간의 관계가 완벽하게 테스
트됐습니다. 예를 들어, 의존성에 포함된 라이브러리
A
는 의존성에 포함된 라이브러리
B
,
C
,
D
등과 정확히 잘 작동합니다. 따라서 애플리케이션의 중요한 기능을 제공하는 데 필요한 의
존성 간에 식별하기 어려운 버전 충돌이 발생하지 않으므로, 극적으로 의존성 목록이 단순화되
며 개발자의 삶이 수월해집니다.
의존성에 포함된 라이브러리가 다른 버전 라이브러리에 있는 기능을 포함해야 하는 드문 경우
에는 테스트된 라이브러리 버전을 간단히 오버라이딩합니다.
WARNING
_
기본 버전 의존성을 다른 버전으로 오버라이딩하는 경우, 테스트 수준을 높여 의존성 오버라
이딩으로 발생하는 리스크를 완화해야 합니다.
애플리케이션에 의존성이 필요하지 않은 경우에는 의존성을 제외해도 되지만, 이때에도 앞에
설명한 대로 주의를 기울여야 합니다.
전반적으로 스프링 부트의 스타터 개념은 의존성을