본문 바로가기
Dev/Spring Boot

[스프링 부트 개념과 활용] 의존성 관리 이해

by dev_jsk 2020. 8. 18.
728x90
반응형

스프링 부트가 어떻게 수많은 의존성을 가지고 왔는지?

// pom.xml

<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
</parent>
  • spring-boot-starter-parentpom.xml내 기본적으로 필요한 많은 dependency가 선언되어 있다.
  • pom.xml도 상속 관계에 있다. 그렇기 때문에 오버라이딩도 가능하다.
  • spring-boot-dependencies > spring-boot-starter-parent > project

 

스프링 부트의 Dependency Management 기능이 왜 좋은지?

프로젝트 내 pom.xml에서 직접 관리해야 할 의존성의 수가 줄어든다.

 

특이 사항

  • starter내에 선언된 dependency는 버전을 따로 명시하지 않아도 된다. (특정 버전을 필요로 할 경우 명시)
  • starter내에 없는 dependency사용 시에는 버전까지 명시해야 한다.
  • <parent>를 사용하면 dependency만 가져오는게 아니라 propertiesresource, plugin 설정 등이 포함되어 있다.
  • <parent>를 사용해야 더 많은 기능을 사용할 수 있다.

 

참고

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-dependency-management

 

Spring Boot Reference Documentation

This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe

docs.spring.io

 

728x90
반응형

댓글