spring-boot-starter-parent简介

栏目: Java · 发布时间: 6年前

内容简介:本指南将帮助您了解Spring Boot Starter Parent如何帮助管理依赖项版本,所有Spring Boot项目通常使用spring-boot-starter-parent作为pom.xml中的父项:Parent Poms为多个子项目和模块管理以下内容:首先 启动器Spring Boot Starter Parent将spring-boot-dependencies定义为父pom。它从spring-boot-dependencies继承了依赖关系管理。

本指南将帮助您了解Spring Boot Starter Parent如何帮助管理依赖项版本,所有Spring Boot项目通常使用spring-boot-starter-parent作为pom.xml中的父项:

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

Parent Poms为多个子项目和模块管理以下内容:

  • 配置 - Java版本和其他属性
  • Depedency Management - 依赖项的版本
  • 默认插件配置

内部原理

首先 启动器Spring Boot Starter Parent将spring-boot-dependencies定义为父pom。它从spring-boot-dependencies继承了依赖关系管理。

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

默认的 java 版本是1.6。项目可以通过<java.version>1.8</java.version>在项目pom中指定属性来覆盖它。还有一些与编码和源相关的其他设置,目标版本也在父pom中设置。

<java.version>1.6</java.version>
<resource.delimiter>@</resource.delimiter> <!-- delimiter that doesn't clash with Spring ${} placeholders -->
<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>

Spring Boot Starter Parent指定了一系列插件的默认配置,包括maven-failsafe-plugin,maven-jar-plugin和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>

Spring Boot Starter Parent从spring-boot-dependencies继承了什么?

Spring Boot Dependencies定义了所有Spring Boot项目的默认依赖关系管理。如果我们想要使用特定依赖项的新版本,我们可以通过在项目pom中指定新属性来覆盖该版本。下面的摘录显示了由Spring Boot Dependencies父pom管理的一些重要依赖项。由于Spring Boot Starter Parent继承自spring-boot-dependencies,因此它也共享所有这些特性。

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

将Maven 3.2.1定义为所需的最低版本:

<prerequisites>
   <maven>3.2.1</maven>
</prerequisites>

Spring Boot


以上所述就是小编给大家介绍的《spring-boot-starter-parent简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

啊哈!算法

啊哈!算法

啊哈磊 / 人民邮电出版社 / 2014-6-1 / 45.00元

这不过是一本有趣的算法书而已。和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。 这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点, 通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜 游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。 本书中涉及到的数据结构有栈、队列、链表、树......一起来看看 《啊哈!算法》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具