2019/07/03 - [프로그래밍 노트/SPRING BOOT] - [Spring Boot] 스프링 부트 시작하기
의존성 관리
Spring Boot는 어떻게 수 많은 의존성을 갖고 왔을까?
우리는 pom.xml 의존성 설정에 version을 주지 않았는데 spring boot는 알아서 수 많은 의존성 lib를 갖고왔다.
이것은 의존성 관리 기능 때문인데 parent pom을 따라가다보면 spring-boot-dependencies 프로젝트가 존재하는데 이곳에서 spring version을 관리하고 있다. 우리는 spring-boot-dependencies에서 관리하는 라이브러리를 사용하게 된다.
우리가 spring boot 프로젝트를 생성하면 부모pom 으로 spring-boot-starter-parent.pom
을 갖게된다.
그리고 spring-boot-starter-parent.pom은 부모pom 으로 spring-boot-dependencies.pom
을 갖게된다.
<parent>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-dependencies</artifactid>
<version>2.1.3.RELEASE</version>
<relativepath>../../spring-boot-dependencies</relativepath>
</parent>
이 spring-boot-dependencies.pom에서 여러 라이브러리와 버전을 명시하고 있다.
- Spring Boot 버전별로 지원하는 라이브러리 의존성 목록
- Spring Boot 버전을 업그레이드하면 라이브러리 의존성도 모두 업그레이드
=> dependencyManagement 라는 태그안에 dependency가 정의되어 있는데, dependencyManagement는 나중에 maven쪽에 포스팅 하겠다.
따라서 우리는 부모 pom에 미리 정의되어있는 의존성을 사용하게 되며 아래와 같은 장점을 갖을 수 있다.(무척 편리)
- 관리해야할 의존성이 줄어듬
- 의존성 버전 충돌을 피할 수 있음
그렇다면 버전을 바꾸고 싶으면 어떻게 할까?
Spring version을 바꾸고 싶다면 우리가 만든 spring boot 프로젝트의 pom.xml에 properties를 추가하면 일괄적으로 바꿀 수 있다. 단, parent pom의 properties이름과 동일해야 한다.
<properties>
<spring.version>5.0.6.RELEASE</spring.version>
</properties>
properties를 덮어씌우면 변경할 수 있다.
'프로그래밍 노트 > SPRING BOOT' 카테고리의 다른 글
[Spring Boot] Servlet, Servlet-filter 설정 (1) | 2019.11.05 |
---|---|
[Spring Boot] 자동 설정 이해하기2 (0) | 2019.11.05 |
[Spring Boot] 스프링부트 테스트하기 (0) | 2019.09.16 |
[Spring Boot] 자동 설정 이해하기 @EnableAutoConfiguration (0) | 2019.07.11 |
[Spring Boot] 스프링 부트 시작하기 (4) | 2019.07.03 |