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

SpringBoot Starter Parent

spring-boot-starter-parent é o iniciador do projeto. Ele fornece configurações padrão para nossa aplicação. Todas as dependências usam internamente. Todos os projetos Spring Boot no arquivo pom.xml usarão o spring-boot-starter-parent é usado como pai.

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>

Os Poms pais nos permitem gerenciar os seguintes aspectos de múltiplos projetos e módulos:

Configuração: Isso nos permite manter a consistência das versões Java e de outras propriedades relacionadas. Gestão de Dependências: Ele controla a versão das dependências para evitar conflitos. Codificação de origem Versão Java padrão Filtro de recursos Ele também controla a configuração padrão dos plugins.

spring-boot-starter-parent do spring-boot-dependencies herdaram a gestão de dependências. Precisamos apenas especificar o número da versão do Spring Boot. Se precisarmos de mais starters, podemos omitir o número da versão com segurança.

Dentro do Spring Boot Starter Parent

O Spring Boot Starter Parent define o spring-boot. -As dependências são herdadas do pom pai. Ele vem do spring-boot-dependencies herdaram a gestão de dependências.

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.6.0.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>

Pom pai padrão

<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>

A parte de propriedades define os valores padrão da aplicação. A versão Java padrão é1.8Também podemos especificar as propriedades no pom do projeto  1.8Para cobrir a versão Java. O pai pom também contém algumas configurações relacionadas ao código-fonte e ao código-fonte.

插件管理

spring -boot-starter-parent gestão de plugins-plugin e maven-pai-execução-especificou muitas configurações padrão de plugins, incluindo maven-<artifactId>maven-plugin, maven

archive
<plugin>/groupId>
<groupId>org.apache.maven.plugins-plugin e maven-surefire/artifactId>
plugin
segurança
<execuções>
<execução>-<objectivos>/teste
<objetivo>integração/teste
</<objetivo>verificar
</objetivo
</objectivos
</configuração
archive
<plugin>/groupId>
<groupId>org.apache.maven.plugins-execução-surefire/artifactId>
plugin
execuções
jar
<archive>-<manifesto>/<classe>${start/classe><
</adicionar Entries de Implementação Padrão
</manifesto
</exclui
</configuração
archive
<plugin>/groupId>
<groupId>org.apache.maven.plugins-<artifactId>maven-surefire/artifactId>
plugin
<configuração>
Tests.java<**/*<inclusões>/Test.java<
Tests.java<**/*<incluir>/Test.java<
</incluir
incluir
<excluições>**/<excluir>*Abstract/.java<
</excluir
</exclui
</configuração

<plugin>

spring-boot-starter-Dependências do Spring Boot-A dependência do pai é herdada de spring, então também possui todas essas características. Portanto, o Spring Boot gerencia a lista de dependências como parte da gestão da dependência.

<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.RELEASE</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>
<prerequisites>
<maven>3.2.1</maven>
</prerequisites>

Sem pai Spring Boot Starter

Em alguns casos, não precisamos herdar o spring do arquivo pom.xml-boot-starter-parent. Para lidar com esses casos, o Spring Boot oferece flexibilidade, permitindo que não herde spring-boot-starter-Mesmo no caso de parent, ainda usamos gerenciamento de dependências.

<dependencyManagement>
<dependencies>
<dependency>
<!-- Importe dependência de gerenciamento do Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

No código acima, podemos ver que usamos <Scope>Etiquetas. Isso é útil quando precisamos usar diferentes versões de dependências específicas.