Spring Boot可以与“经典” Java开发工具一起使用,也可以作为命令行工具安装。无论哪种方式,都需要Java SDK v1.8或更高版本。在开始之前,您应该使用以下命令检查当前的Java安装情况:

  1. $ java -version

如果您不熟悉Java开发,或者想尝试使用Spring Boot,则可能要先尝试使用Spring Boot CLI(命令行界面)。否则,请继续阅读“经典”安装说明。

3.1 给Java开发人员的安装说明

您可以像使用任何标准Java库一样使用Spring Boot。为此,请在类路径中包含适当的spring-boot-*.jar文件。Spring Boot不需要任何特殊的工具集成,因此您可以使用任何IDE或文本编辑器。另外,Spring Boot应用程序没有什么特别之处,因此您可以像其他Java程序一样运行和调试Spring Boot应用程序。
尽管您可以复制Spring Boot jar文件,但是我们通常建议您使用支持依赖关系管理的构建工具(例如Maven或Gradle)。

3.1.1 Maven安装

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

灯泡.svg 在许多操作系统上,Maven可以被程序包管理器安装。如果使用OSX Homebrew,请尝试brew install maven。Ubuntu用户可以运行sudo apt-get install maven。具有Chocolatey的Windows用户可以提升到管理员权限运行choco install maven

Spring Boot依赖项使用org.springframework.boot groupId。通常,您的Maven POM文件从spring-boot-starter-parent项目继承,并声明对一个或多个“启动器(Starters)”依赖关系。Spring Boot还提供了一个可选的Maven插件来创建可执行jar。
有关使用Spring Boot和Maven的更多详细的入门信息,请参见Maven插件参考指南的“入门部分”。

3.1.2 Gradle安装

Spring Boot与Gradle 6(6.3或更高版本)兼容。还支持Gradle 5.6.x,但不建议使用该支持,在将来的版本中将删除该支持。如果尚未安装Gradle,则可以按照gradle.org上的说明进行操作。
可以使用org.springframework.boot group声明Spring Boot依赖项。通常,您的项目会声明对一个或多个“启动器(Starters)”依赖。Spring Boot提供了一个有用的Gradle插件,它可用于简化依赖项声明和创建可执行jar。

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

有关Spring Boot和Gradle的更多详细入门信息,请参见Gradle插件参考指南的“入门部分”。

3.2 安装Spring Boot CLI

Spring Boot CLI(命令行界面)是一个命令行工具,可用于对Spring进行快速原型设计。它使您可以运行Groovy脚本,这意味着您具有类似Java的熟悉语法,而没有太多样板代码。
Spring Boot无需与CLI一起工作,但这绝对是启动Spring应用程序的最快方法。

3.2.1 手动安装

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

也提供最新版本的 快照分发
下载完成后,请按照解压后的存档中的INSTALL.txt说明进行操作。 总而言之,.zip文件的bin/目录中有一个spring脚本(对于Windows是spring.bat)。 或者,您可以将java -jar.jar文件一起使用(脚本可帮助您确保正确设置了classpath)。

3.2.2 使用“SDKMAN!”安装

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

  1. $ sdk install springboot
  2. $ spring --version
  3. Spring Boot v2.4.0-SNAPSHOT

如果您为CLI开发功能,并希望访问所构建的版本,请使用以下命令:

  1. $ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-2.4.0-SNAPSHOT-bin/spring-2.4.0-SNAPSHOT/
  2. $ sdk default springboot dev
  3. $ spring --version
  4. Spring CLI v2.4.0-SNAPSHOT

前面的指导安装一个称为dev实例的Spring的本地实例。它指向您的目标构建位置,因此每次重新构建Spring Boot时,spring都是最新的。
您可以通过运行以下命令来查看它:

  1. $ sdk ls springboot
  2. ================================================================================
  3. Available Springboot Versions
  4. ================================================================================
  5. > + dev
  6. * 2.4.0-SNAPSHOT
  7. ================================================================================
  8. + - local version
  9. * - installed
  10. > - currently in use
  11. ================================================================================

3.2.3 OSX Homebrew安装

如果您在Mac上并且使用Homebrew,则可以使用以下命令来安装Spring Boot CLI:

  1. $ brew tap pivotal/tap
  2. $ brew install springboot

Homebrew将spring安装到/usr/local/bin路径。

info.svg 如果看不到惯例显示的内容,则说明brew的安装可能已过期。在这种情况下,请运行brew update并重试。

3.2.4 MacPorts安装

如果您使用的是Mac并使用MacPorts,则可以使用以下命令安装Spring Boot CLI:

  1. $ sudo port install spring-boot-cli

3.2.5 命令行补全

Spring Boot CLI包含脚本,这些脚本为BASHzsh Shell提供命令补全功能。您可以用source将脚本(也称为spring)放在任何shell中,或将其放入个人或系统范围的bash中完成初始化。在Debian系统上,系统范围内的脚本位于/shell-completion/bash中,并且在启动新Shell时将执行该目录中的所有脚本。例如,如果您是使用“SDKMAN!”安装的,则要手动运行脚本,请使用以下命令:

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

info.svg

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

3.2.6 Windows Scoop安装

如果您使用的是Windows并使用Scoop,则可以使用以下命令安装Spring Boot CLI:

  1. > scoop bucket add extras
  2. > scoop install springboot

Scoop将spring安装到~/scoop/apps/springboot/current/bin中。

info.svg 如果您没有看到应用清单(manifest),则可能是因为瓢的安装已过期。在这种情况下,请运行scoop update并重试。

3.2.7 快速入门Spring CLI示例

您可以使用以下Web应用程序来测试安装。首先,创建一个名为app.groovy的文件,如下所示:

  1. @RestController
  2. class ThisWillActuallyRun {
  3. @RequestMapping("/")
  4. String home() {
  5. "Hello World!"
  6. }
  7. }

然后从shell中运行它,如下所示:

  1. $ spring run app.groovy

info.svg 由于依赖项需要被下载,因此您的应用程序的第一次运行很慢。随后的运行要快得多。

在您喜欢的网络浏览器中打开[localhost:8080](http://localhost:8080/)。您应该看到以下输出:

  1. Hello World!

3.3 从较早版本的Spring Boot升级

如果要从Spring Boot 1.x发行版进行升级,请查看项目Wiki上的“迁移指南”,其中提供了详细的升级说明。还请检查“发行说明”以获取每个发行版的“新功能和值得注意的功能”列表。
升级到新功能版本时,某些属性可能已被重命名或删除。Spring Boot提供了一种在启动时分析应用程序环境并打印诊断信息的方法,而且还可以在运行时为您临时迁移属性。要启用该功能,请将以下依赖项添加到您的项目中:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-properties-migrator</artifactId>
  4. <scope>runtime</scope>
  5. </dependency>

警告.svg 较晚添加到环境的属性(例如使用时@PropertySource)将不被考虑。

info.svg 迁移完成后,请确保从项目的依赖项中删除此模块。

要升级现有的CLI安装,请使用适当的程序包管理器命令(例如,brew upgrade)。如果您手动安装了CLI,请遵循标准说明,记住要更新您的PATH环境变量以删除所有较旧的引用。