10. 安装 Spring Boot

Spring Boot 可以与“经典” Java 开发工具一起使用,也可以作为命令行工具安装。无论如何,您将需要Java SDK v1.6或更高。开始之前,您应该检查当前的 Java 安装:

$ java -version

如果您不熟悉 Java 开发,或者只想尝试使用 Spring Boot,则可能需要先尝试Spring Boot CLI,否则,请 continue 阅读“经典”安装说明。

Tip

尽管 Spring Boot 与 Java 1.6 兼容,但如果可能,您应该考虑使用最新版本的 Java。

10.1 Java 开发人员的安装说明

您可以像使用任何标准 Java 库一样使用 Spring Boot。只需在您的 Classpath 中包含适当的spring-boot-*.jar文件即可。 Spring Boot 不需要任何特殊的工具集成,因此您可以使用任何 IDE 或文本编辑器。而且 Spring Boot 应用程序没有什么特别的,因此您可以像运行其他 Java 程序一样运行和调试。

尽管您可以仅复制 Spring Boot jar,但是我们通常建议您使用支持依赖项 Management 的构建工具(例如 Maven 或 Gradle)。

10.1.1 Maven 安装

Spring Boot 与 Apache Maven 3.2 或更高版本兼容。如果尚未安装 Maven,则可以按照maven.apache.org上的说明进行操作。

Tip

在许多 os 上,可以通过程序包 Management 器安装 Maven。如果您是 OSX Homebrew 用户,请尝试brew install maven。 Ubuntu 用户可以运行sudo apt-get install maven

Spring Boot 依赖项使用org.springframework.boot groupId。通常,您的 Maven POM 文件将从spring-boot-starter-parent项目继承,并声明对一个或多个"Starters"的依赖关系。 Spring Boot 还提供了一个可选的Maven plugin来创建可执行 jar。

这是一个典型的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

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

    <!-- Add typical dependencies for a web application -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <!-- Package as an executable jar -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Tip

spring-boot-starter-parent是使用 Spring Boot 的好方法,但可能并不总是适合。有时您可能需要从其他父 POM 继承,或者您可能不喜欢我们的默认设置。有关使用import范围的替代解决方案,请参见第 13.2.2 节“在没有父 POM 的情况下使用 Spring Boot”

10.1.2 安装 Gradle

Spring Boot 与 Gradle 2(2.9 或更高版本)和 Gradle 3 兼容。如果尚未安装 Gradle,则可以按照www.gradle.org/上的说明进行操作。

可以使用org.springframework.boot group声明 Spring Boot 依赖项。通常,您的项目将声明对一个或多个"Starters"的依赖关系。 Spring Boot 提供了一个有用的Gradle plugin,可用于简化依赖项声明并创建可执行 jar。

Gradle Wrapper

当您需要构建项目时,Gradle 包装器提供了一种“获取” Gradle 的好方法。这是一个小的脚本和库,您随代码一起提交以引导构建过程。有关详情,请参见docs.gradle.org/2.14.1/userguide/gradle_wrapper.html

这是一个典型的build.gradle文件:

plugins {
    id 'org.springframework.boot' version '1.5.9.RELEASE'
    id 'java'
}

jar {
    baseName = 'myproject'
    version =  '0.0.1-SNAPSHOT'
}

repositories {
    jcenter()
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    testCompile("org.springframework.boot:spring-boot-starter-test")
}

10.2 安装 Spring Boot CLI

Spring Boot CLI 是一个命令行工具,如果您想使用 Spring 快速创建原型,可以使用它。它允许您运行Groovy脚本,这意味着您具有类似 Java 的熟悉语法,而无需太多样板代码。

您不需要使用 CLI 即可与 Spring Boot 一起使用,但这绝对是使 Spring 应用程序启动的最快方法。

10.2.1 手动安装

您可以从 Spring 软件存储库下载 Spring CLI 发行版:

最先进的snapshot distributions也可用。

下载完成后,请按照解压后的存档中的INSTALL.txt说明进行操作。总结:.zip文件中bin/目录中有一个spring脚本(对于 Windows 为spring.bat),或者您也可以将java -jar.jar文件一起使用(该脚本可帮助您确保正确设置了 Classpath)。

10.2.2 使用 SDKMAN 安装!

SDKMAN! (软件开发工具包 Management 器)可用于 Management 各种二进制 SDK 的多个版本,包括 Groovy 和 Spring Boot CLI。获取 SDKMAN!从sdkman.io并使用安装 Spring Boot

$ sdk install springboot
$ spring --version
Spring Boot v1.5.9.RELEASE

如果您正在开发 CLI 的功能,并且想要轻松访问刚构建的版本,请遵循以下额外说明。

$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.5.9.RELEASE-bin/spring-1.5.9.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v1.5.9.RELEASE

这将安装名为spring的本地实例spring。它指向您的目标构建位置,因此,每次重建 Spring Boot 时,spring都是最新的。

您可以这样做:

$ sdk ls springboot

================================================================================
Available Springboot Versions
================================================================================
> + dev
* 1.5.9.RELEASE

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

10.2.3 OSX Homebrew 安装

如果您使用的是 Mac 并使用Homebrew,则安装 Spring Boot CLI 所需要做的就是:

$ brew tap pivotal/tap
$ brew install springboot

Homebrew 将spring安装到/usr/local/bin

Note

如果看不到该公式,则说明 brew 的安装可能已过期。只需执行brew update,然后重试。

10.2.4 MacPorts 安装

如果您使用的是 Mac 并使用MacPorts,则安装 Spring Boot CLI 所需要做的就是:

$ sudo port install spring-boot-cli

10.2.5 命令行完成

Spring Boot CLI 附带的脚本为BASHzsh shell 提供命令完成。您可以在任何 Shell 程序中source脚本(也称为spring),或将其放在个人或系统范围内的 bash 完成初始化中。在 Debian 系统上,系统级脚本位于/shell-completion/bash中,并且在启动新 Shell 时将执行该目录中的所有脚本。要手动运行脚本,例如如果您已使用 SDKMAN 进行安装!

$ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring
$ spring <HIT TAB HERE>
  grab  help  jar  run  test  version

Note

如果您使用 Homebrew 或 MacPorts 安装 Spring Boot CLI,则命令行完成脚本会自动在您的 Shell 中注册。

10.2.6 快速 StarterSpring CLI 示例

这是一个非常简单的 Web 应用程序,可用于测试安装。创建一个名为app.groovy的文件:

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/")
    String home() {
        "Hello World!"
    }

}

然后只需从 shell 运行它:

$ spring run app.groovy

Note

首次运行应用程序时会花费一些时间,因为下载了依赖项。随后的运行将更快。

在您喜欢的 Web 浏览器中打开localhost:8080,您应该看到以下输出:

Hello World!

10.3 从较早版本的 Spring Boot 升级

如果要从较早版本的 Spring Boot 升级,请检查project wiki上的“发行说明”。您会找到升级说明以及每个版本的“新功能”。

要升级现有的 CLI 安装,请使用适当的程序包 Management 器命令(例如brew upgrade),或者,如果您手动安装了 CLI,请遵循standard instructions记住更新PATH环境变量以删除任何较旧的引用。