Spring Boot官方文档学习——使用Spring Boot

1. 简述

    本文将详细介绍如何使用Spring Boot。本文将覆盖系统构建、自动配置、如何运行应用。还会包含一些Spring Boot最佳实践。尽管Spring Boot没有什么特殊的地方(它仅仅是你可以使用的一个类库而已)但是仍然有一些意见你可以采纳。这些意见将会使得你的开发更加容易一些。

2. 构建系统

    强烈建议您选择支持依赖管理的构建系统,并且可以使用发布到“Maven Central”存储库的工件。 官方建议您选择MavenGradle虽然 Spring Boot可以与其他构建系统(例如Ant)一起工作,但是它们不会得到特别好的支持。

2.1 依赖管理    

Spring Boot的每个发行版都提供了一个支持的依赖列表。 在实践中,您不需要为构建配置中的任何这些依赖项提供一个版本,因为Spring Boot正在为您进行管理。 当您升级Spring Boot本身时,这些依赖关系也将以一致的方式升级。

    如果您觉得有必要,您仍然可以指定一个版本并覆盖Spring Boot的建议版本

    支持的依赖列表包含您可以使用Spring Boot的所有模块以及第三方库的精炼列表。 该列表可作为标准的spring-boot-dependencies清单提供,并且还提供MavenGradle的其他专用支持。

    Spring Boot的每个版本都与Spring Framework的基础版本相关联,因此官方强烈建议您不要自行指定其版本。

2.2 Maven    

    Maven用户可以从spring-boot-starter-parent项目继承,以获得合理的默认值。 父项目提供以下功能:

  • Java 1.6作为默认的编译器级别。
  • UTF-8源码编码。
  • 依赖管理部分,继承自Spring-Boot-dependencies POM的通用依赖项允许您省略的<version>标记。
  • 合理的的资源过滤。
  • 合理的插件配置(exec plugin, surefire, Git commit ID, shad)。
  • application.propertiesapplication.yml进行合理的资源过滤,包括特定于配置文件的文件(例如application-foo.propertiesapplication-foo.yml  

2.2.1 继承父Starter

要将项目配置为从spring-boot-starter-parent继承,只需设置父项:

<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
</parent>

通过该设置,您还可以通过在自己的项目中重写属性来覆盖各个依赖项。 例如,要升级到另一个Spring Data发行版,您需要将以下内容添加到您的pom.xml中。

<properties>
    <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>

检查spring-boot-dependencies pom以获取支持的属性列表。

https://github.com/spring-projects/spring-boot/blob/v1.5.10.RELEASE/spring-boot-dependencies/pom.xml

2.2.2 不使用父Starter来创建Spring Boot应用

        不是每个人都喜欢从spring-boot-starter-parent POM继承。 你可能有你自己的企业标准的parent可以使用,或者你可能只是喜欢显式声明所有的Maven配置。

        如果你不想使用spring-boot-starter-parent,你仍然可以通过使用scope = import dependency来保持依赖管理的好处(但不是插件管理):

<dependencyManagement>
     <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.10.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

        如上所述,该设置不允许您使用属性覆盖单个依赖项。 为了达到同样的结果,你需要在spring-boot-dependencies条目之前在项目的dependencyManagement中添加一个条目。 例如,要升级到另一个Spring Data发行版,您需要将以下内容添加到您的pom.xml中。

<dependencyManagement>
    <dependencies>
        <!-- Override Spring Data release train provided by Spring Boot -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Fowler-SR2</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.10.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2.2.3 修改Java版本

        spring-boot-starter-parent选择相当保守的Java兼容性。 如果您想遵循官方的建议并使用较新的Java版本,则可以添加一个java.version属性:

<properties>
    <java.version>1.8</java.version>
</properties>

2.2.4 使用Spring Boot Maven插件

        Spring Boot包含一个Maven插件,可以将项目打包为可执行的jar文件。 如果你想使用它,请将插件添加到<plugins>部分:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值