English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot Starter Parent

spring-<artifactId>spring--parent는 프로젝트 스타터입니다. 우리의 애플리케이션에 기본 설정을 제공하며 모든 의존성이 내부에서 사용됩니다. 모든 Spring Boot 프로젝트는 pom.xml 파일에서 spring-<artifactId>spring--parent는 부모로 사용됩니다.

<parent>
<!/>
<groupId>-<artifactId>spring--parent</dependencies<
artifactId>1<4.0.RELEASE</버전>
</parent>

부모 Pom은 여러个子 프로젝트와 모듈의 다음 내용을 관리할 수 있게 합니다:

Configuration: 그것은 우리가 Java 버전과 다른 관련 속성의 일관성을 유지할 수 있게 합니다. Dependency Management: 그것은 충돌을 피하기 위해 의존 관리의 버전을 제어합니다. 소스编码 기본 Java 버전 자원 필터링 그것은 기본 플러그인 설정도 제어합니다.

spring-<artifactId>spring--parent는 spring에서-<artifactId>spring-dependencies는 의존 관리를 继承합니다. 우리는 단지 Spring Boot 버전 번호를 지정하면 됩니다. 추가적인 스타터가 필요하다면, 버전 번호를 안전하게 제외할 수 있습니다.

Spring Boot Starter Parent 내부

Spring Boot Starter Parent는 spring-boot에서 -의존 관계는 부모 pom으로. 그것은 spring-<artifactId>spring-dependencies는 의존 관리를 继承합니다.

<parent>
<!/>
<groupId>-<artifactId>spring-boot/dependencies<
artifactId>1<6.0.RELEASE</버전>
<relativePath>../../spring-<artifactId>spring-boot/relativePath>
</parent>

기본 부모 Pom

<properties>
<java.version>1<8</java.version>
<resource.delimiter>@</resource.delimiter> 
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>${java.version}<//maven.compiler.source>
<maven.compiler.target>${java.version}<//maven.compiler.target>
</properties>

속성 부분은 응용 프로그램 기본 값을 정의합니다. Java의 기본 버전은1<8프로젝트 pom에서 속성을 지정하여  1<8Java 버전을 덮기 위해. 부모 pom은编码 및 소스와 관련된 다른 설정도 포함하고 있습니다. application.properties 파일에 정의되지 않았다면, Spring Boot 프레임워크는 이 기본 값을 사용합니다.

플러그인 관리

spring -<artifactId>spring--parent 많은 플러그인의 기본 설정을 지정했습니다. 이 중 maven-failsafe-plugin, maven-jar-plugin과 maven-surefire-plugin.

<plugin>
<groupId>org.apache.maven.plugins</>
<artifactId>maven-failsafe-plugin</dependencies<
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</>
<artifactId>maven-jar-plugin</dependencies<
<configuration>
<archive>
<manifest>
<mainClass>${start-class}</mainClass> <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</>
<artifactId>maven-surefire-plugin</dependencies<
<configuration>
<includes>
<include>**/*Tests.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
</excludes>
</configuration>
</plugin>

Spring Boot 의존성

spring-<artifactId>spring--parent 의존성에서 spring-boot 의 의존성을 继承하여, 이러한 모든 특징을 가지고 있습니다. 따라서, Spring Boot는 의존성 목록을 의존성 관리의 일부로 관리합니다.

<properties>
<activemq.version>5<13<4</activemq.version>
...
<ehcache.version>2<10<2<2<21</ehcache.version>
<ehcache3.version>3<1<1</ehcache3.version>
...
<h2.version>1<4<192</h2.version>
<hamcrest.version>1<3</hamcrest.version>
<hazelcast.version>3<6<4</hazelcast.version>
<hibernate.version>5.0.9.Final</hibernate.version>
<hibernate-validator.version>5<2<4.Final</hibernate-validator.version>
<hikaricp.version>2<4<7</hikaricp.version>
<hikaricp-java6.version>2<3<13</hikaricp-java6.version>
<hornetq.version>2<4<7.Final</hornetq.version>
<hsqldb.version>2<3<3</hsqldb.version>
<htmlunit.version>2<21</htmlunit.version>
<httpasyncclient.version>4<1<2</httpasyncclient.version>
<httpclient.version>4<5<2</httpclient.version>
<httpcore.version>4<4<5</httpcore.version>
<infinispan.version>8<2<2.Final</infinispan.version>
<jackson.version>2<8<1</jackson.version>
....
<jersey.version>2<23<1</jersey.version>
<jest.version>2.0.3</jest.version>
<jetty.version>9<3<11.v20160721</jetty.version>
<jetty-jsp.version>2<2.0.v201112011158</jetty-jsp.version>
<spring-security.version>4<1<1<버전>/spring-security.version>
<tomcat.version>8<5<4</tomcat.version>
<undertow.version>1<3<23.Final</undertow.version>
<velocity.version>1<7</velocity.version>
<velocity-tools.version>2.0</velocity-tools.version>
<webjars-hal-browser.version>9f96c74</webjars-hal-browser.version>
<webjars-locator.version>0.32</webjars-locator.version>
<wsdl4j.version>1<6<3</wsdl4j.version>
<xml-apis.version>1<4.01</xml-apis.version>
</properties>
<필수 사항>
<maven>3<2<1</maven>
</필수 사항>

부모 계층이 없는 Spring Boot Starter

-<artifactId>spring---<artifactId>spring--certain cases, we do not need to inherit the spring in the pom.xml file

starter
parent의 경우에도 의존 관리를 계속 사용합니다.
예제
<dependencyManagement>-- <dependencies> --<dependency>
<!/>
<groupId>-<artifactId>spring-boot/dependencies<
artifactId>2<1<1<버전>/버전>
<타입>pom</타입>
<스코프>import</스코프>
</dependency>
</dependencies>
</dependencyManagement>

위의 코드에서는 이를 위해 사용했음을 볼 수 있습니다. <스코프>태그. 특정 의존성에 대해 다른 버전을 사용하려 할 때 매우 유용합니다.