SW/Spring Boot

Spring Boot : 스프링 부트 종속성 관리 방법, 예제, 설명

얇은생각 2023. 3. 9. 07:30
반응형

Spring Boot : 스프링 부트 종속성 관리 방법, 예제, 설명

 

 

스프링 부트 종속성 관리

스프링 부트는 종속성 및 구성을 자동으로 관리합니다. 각 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>

 

반응형