2.3 安装Spring Boot
Spring Boot可以与“经典”Java开发工具一起使用,也可以作为命令行工具安装。 无论哪种方式,您都需要Java SDK v1.8或更高版本。 在开始之前,您应该使用以下命令检查当前的Java安装:
$ java -version
如果您不熟悉Java开发,或者想要尝试Spring Boot,则可能需要先尝试Spring Boot CLI(命令行界面)。 否则,请继续阅读“经典”安装说明。
2.3.1 Java Developer的安装说明
您可以像使用任何标准Java库一样使用Spring Boot。 为此,请在类路径中包含相应的spring-boot - * .jar文件。 Spring Boot不需要任何特殊工具集成,因此您可以使用任何IDE或文本编辑器。 此外,Spring Boot应用程序没有什么特别之处,因此您可以像运行任何其他Java程序一样运行和调试Spring Boot应用程序。
虽然您可以复制Spring Boot jar,但我们通常建议您使用支持依赖关系管理的构建工具(例如Maven或Gradle)。
2.3.1.1 Mave安装
Spring Boot与Apache Maven 3.3或更高版本兼容。 如果您还没有安装Maven,可以按照maven.apache.org上的说明进行操作。
注:在许多操作系统上,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。
以下清单显示了典型的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>2.1.3.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>
注:spring-boot-starter-parent是一种使用Spring Boot的好方法,但它可能并不总是适用。 有时您可能需要从不同的父POM继承,或者您可能不喜欢我们的默认设置。 在这些情况下,请参见第3.1.2.2 “在没有父POM的情况下使用Spring Boot”作为使用导入范围的替代解决方案。
2.3.1.2 Gradle安装
Spring Boot与Gradle 4.4及更高版本兼容。 如果您尚未安装Gradle,则可以按照gradle.org上的说明进行操作。
可以使用org.springframework.boot组声明Spring Boot依赖项。 通常,您的项目会声明对一个或多个“Starters”的依赖关系。 Spring Boot提供了一个有用的Gradle插件,可用于简化依赖声明和创建可执行jar。
Gradle Wrapper 当您需要构建项目时,Gradle Wrapper提供了一种“获取”Gradle的好方法。 它是一个小脚本和库,您可以与代码一起提交以引导构建过程。 有关详细信息,请参阅docs.gradle.org/4.2.1/userguide/gradle_wrapper.html。 有关Spring Boot和Gradle入门的更多详细信息,请参阅Gradle插件参考指南的“入门”部分。
2.3.2 安装Spring Boot CLI
Spring Boot CLI(命令行界面)是一个命令行工具,您可以使用它来快速使用Spring进行原型设计。 它允许您运行Groovy脚本,这意味着您拥有熟悉的类似Java的语法,而没有太多的样板代码。
您不需要使用CLI来使用Spring Boot,但它绝对是实现Spring应用程序的最快方法。
2.3.2.1 手动安装
您可以从Spring软件库下载Spring CLI发行版:
- spring-boot-cli-2.1.3.RELEASE-bin.zip
- spring-boot-cli-2.1.3.RELEASE-bin.tar.gz
还提供最先进的快照分发。
下载完成后,请按照解压缩的存档中的INSTALL.txt说明进行操作。 总之,.zip文件中的bin /目录中有一个spring脚本(用于Windows的spring.bat)。 或者,您可以将java -jar与.jar文件一起使用(该脚本可帮助您确保正确设置类路径)。
2.3.2.2 使用SDKMAN!安装
SDKMAN!(软件开发工具包管理器)可用于管理各种二进制SDK的多个版本,包括Groovy和Spring Boot CLI。 获取SDKMAN! 从sdkman.io中,使用以下命令安装Spring Boot:
$ sdk install springboot
$ spring --version
Spring Boot v2.1.3.RELEASE
如果您为CLI开发功能并希望轻松访问您构建的版本,请使用以下命令:
$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-2.1.3.RELEASE-bin/spring-2.1.3.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v2.1.3.RELEASE
前面的说明安装了一个名为dev实例的spring的本地实例。 它指向您的目标构建位置,因此每次重建Spring Boot时,spring都是最新的。
您可以通过运行以下命令来查看它:
$ sdk ls springboot
====================
Available Springboot Versions
==================
> + dev
* 2.1.3.RELEASE
=======================
+ - local version
* - installed
> - currently in use
===============
2.3.2.3 OSX Homebrew安装
如果您使用的是Mac并使用Homebrew,则可以使用以下命令安装Spring Boot CLI:
$ brew tap pivotal/tap
$ brew install springboot
Homebrew将spring安装到/usr/local/bin。
注:如果您没有看到公式,那么您的brew安装可能已过时。 在这种情况下,请运行brew update并再试一次。
2.3.2.4 MacPorts安装
如果您使用的是Mac并使用MacPorts,则可以使用以下命令安装Spring Boot CLI:
$ sudo port install spring-boot-cli
2.3.2.5 命令行完成
Spring Boot CLI包含为BASH和zsh shell提供命令完成的脚本。 您可以在任何shell中获取脚本(也称为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
注:如果使用Homebrew或MacPorts安装Spring Boot CLI,则命令行完成脚本会自动注册到shell。
2.3.2.6 Windows Scoop安装
如果您使用的是Windows并使用Scoop,则可以使用以下命令安装Spring Boot CLI:
> scoop bucket add extras
> scoop install springboot
Scoop安装spring到~/scoop/apps/spring boot/current/bin。
注:如果您没有看到应用清单,则您的scoop安装可能已过时。 在这种情况下,运行scoop update并再试一次。
2.3.2.7 快速启动Spring CLI示例
您可以使用以下Web应用程序来测试您的安装。 首先,创建一个名为app.groovy的文件,如下所示:
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
"Hello World!"
}
}
然后从shell运行它,如下所示:
$ spring run app.groovy
注:应用程序的第一次运行速度很慢,因为下载了依赖项。 后续运行要快得多
在您喜欢的Web浏览器中打开localhost:8080。 您应该看到以下输出:
Hello World!
2.3.3 从早期版本的Spring Boot升级
如果要从早期版本的Spring Boot升级,请查看项目Wiki上的“迁移指南”,其中提供了详细的升级说明。 另请查看“发行说明”,了解每个版本的“新的和值得注意的”功能列表。
升级到新功能版本时,某些属性可能已重命名或删除。 Spring Boot提供了一种在启动时分析应用程序环境和打印诊断的方法,还可以在运行时临时迁移属性。 要启用该功能,请将以下依赖项添加到项目中:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
注:在环境中添加的属性(例如使用@PropertySource时)将不会被考虑在内。 完成迁移后,请确保从项目的依赖项中删除此模块。
要升级现有CLI安装,请使用相应的软件包管理器命令(例如,brew upgrade),或者,如果手动安装CLI,请按照标准说明操作,记住更新PATH环境变量以删除任何旧引用。