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 附带的脚本为BASH和zsh 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
环境变量以删除任何较旧的引用。