스프링 부트 종속성 관리
스프링 부트는 종속성 및 구성을 자동으로 관리합니다. 각 Spring Boot 릴리스에는 지원되는 종속성 목록이 제공됩니다. 종속성 목록은 Maven과 함께 사용할 수 있는 Bills of Materials(스프링 부트 종속성)의 일부로 제공됩니다. 따라서 구성에서 종속성 버전을 지정할 필요가 없습니다. 스프링 부트는 스스로 관리합니다. Spring Boot은 Spring Boot 버전을 업데이트할 때 일관된 방식으로 모든 종속성을 자동으로 업그레이드합니다.
종속성 관리의 이점
Spring Boot 버전을 한 곳에서 지정하여 종속성 정보의 중앙 집중화를 제공합니다. 한 버전에서 다른 버전으로 전환할 때 도움이 됩니다.
여러 버전의 스프링 부트 라이브러리가 일치하지 않는 것을 방지합니다.
버전을 지정하는 라이브러리 이름만 작성하면 됩니다. 다중 모듈 프로젝트에 유용합니다.
참고: 스프링 부팅에서는 필요한 경우 종속성 버전을 재정의할 수도 있습니다.
메이븐 종속성 관리 시스템
Maven 프로젝트는 spring-boot-starter-parent에서 다음 기능을 상속합니다.
기본 Java 컴파일러 버전입니다.
UTF-8 소스 인코딩입니다.
spring-boot-dependency-pom에서 종속성 섹션을 상속합니다. 공통 종속성의 버전을 관리합니다. 해당 종속성에 대한 <version> 태그를 무시합니다.
종속성, 스프링 부트 종속성 POM에서 상속됩니다.
적절한 리소스 필터링입니다.
적절한 플러그인 구성입니다.
스타터 상위 항목을 상속
다음 spring-boot-starter-parent는 프로젝트를 구성할 때 자동으로 상속됩니다.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.BUILD-SNAPSHOT</version> <!-- lookup parent from repository -->
<relativePath/>
</parent>
참고: 위의 종속 항목에서는 스프링 부트 버전만 지정했습니다. 시작 프로그램을 추가하려면 <버전> 태그를 제거하기만 하면 됩니다. 마찬가지로 프로젝트의 속성을 재정의하여 개별 종속성을 재정의할 수도 있습니다.
예를 들어 이미 주입한 동일한 아티팩트를 사용하여 다른 종속성을 추가하려면 해당 종속성을 <properties> 태그 안에 다시 삽입하여 이전 종속성을 재정의하십시오.
Java 버전을 변경
또한 <java.version> 태그를 사용하여 Java 버전을 변경할 수도 있습니다.
<properties>
<java.version>1.8</java.version>
</properties>
Spring Boot Maven 플러그인을 추가
Maven 플러그인을 pom.xml 파일에 추가할 수도 있습니다. 프로젝트를 실행 가능한 jar 파일로 래핑합니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
부모 POM 없이 스프링 부트
스프링 부팅 스타터-상위 종속성을 사용하지 않고 종속성 관리를 활용하려면 다음과 같이 <scope> 태그를 사용할 수 있습니다.
참고: 플러그인 관리는 유지 관리되지 않습니다.
<dependencyManagement>
<dependencies>
<dependency><!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
위의 종속성으로 인해 재정의할 수 없습니다. 재정의하려면 스프링 부트 종속성 항목 전에 프로젝트의 <dependency Management> 태그 안에 항목을 추가해야 합니다.
예를 들어 다른 스프링 데이터 릴리스 트레인을 업그레이드하려면 pom.xml 파일에 다음 종속성을 추가하십시오.
<dependencyManagement>
<dependencies>
<!--Override Spring Data release train-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
'SW > Spring Boot' 카테고리의 다른 글
Spring Boot : 스프링 부트 애플리케이션 속성 설명, 방법, 개요 (0) | 2023.03.11 |
---|---|
Spring Boot : 스프링 부트 어노테이션 설명, 방법, 예제 (0) | 2023.03.10 |
Spring Boot : STS를 사용하여 스프링 부트 프로젝트를 생성 방법, 예제 (0) | 2023.03.08 |
Spring Boot : CLI 설명, 개요, 개념, 방법 (0) | 2023.03.07 |
Spring Boot : 스프링 부트 프로젝트 생성 방법, 개요, 설명 (0) | 2023.03.06 |