English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
spring-boot-starter-parent è un avviatore di progetto. Fornisce configurazioni predefinite per la nostra applicazione. Tutte le dipendenze vengono utilizzate internamente. Tutti i progetti Spring Boot utilizzano spring-boot-starter-parent come progetto padre nel file pom.xml.
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent>
I Pom padre ci permettono di gestire i seguenti contenuti di più sotto-progetti e moduli:
Configurazione: Ci permette di mantenere la coerenza della versione Java e di altre proprietà correlate. Gestione delle dipendenze: Controlla la versione delle dipendenze per evitare conflitti. Codifica di origine Versione Java predefinita Filtraggio delle risorse Controlla anche la configurazione dei plugin predefiniti.
spring-boot-starter-parent eredita la gestione delle dipendenze da spring-boot-dependencies. Dobbiamo solo specificare il numero di versione di Spring Boot. Se necessario, possiamo tranquillamente omettere il numero di versione dell'avviatore aggiuntivo.
Il Pom padre di avvio di Spring Boot definisce le dipendenze di spring-boot come dipendenze padre. Eredita la gestione delle dipendenze da spring-boot-dependencies.
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.6.0.RELEASE</version> <relativePath>../../spring-boot-dependencies</relativePath> </parent>
Pom padre predefinito
<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>
La parte delle proprietà definisce i valori predefiniti dell'applicazione. La versione predefinita di Java è 1.8. Possiamo anche specificare le proprietà nel file pom del progetto.
Gestione dei plugin
spring-boot-starter-parent Specificò molte configurazioni predefinite per i plugin, tra cui maven-failsafe-plugin, maven-jar-plugin e maven-surefire-plugin.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>${start-class}</mainClass> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>**/*Tests.java</include> <include>**/*Test.java</include> </includes> <excludes> <exclude>**/Abstract*.java</exclude> </excludes> </configuration> </plugin>
Dipendenze di Spring Boot
La dipendenza spring-boot-starter-parent eredita le dipendenze da spring-boot e ha tutte queste caratteristiche. Pertanto, Spring Boot gestisce l'elenco delle dipendenze come parte della gestione delle dipendenze.
<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>
In alcuni casi, non è necessario ereditare il file pom.xml di spring-boot-starter-parent. Per gestire tali casi, Spring Boot offre flessibilità, consentendo di utilizzare la gestione delle dipendenze senza ereditare spring-boot-starter-parent.
<dependencyManagement> <dependencies> <dependency> <!-- import dependency management from 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>
Nel codice sopra, possiamo vedere che abbiamo utilizzato <scope>E 'utile quando dobbiamo utilizzare versioni diverse di dipendenze specifiche.