安装 Spring Boot
Spring Boot 可以配合传统的 Java 开发工具使用,也可以作为命令行工具(CLI)安装。无论采用哪种方式,你都需要 Java SDK v17 或更高版本。在开始之前,你应该通过以下命令检查当前的 Java 版本:
$ java -version如果你是 Java 开发初学者,或者想快速尝试 Spring Boot,建议先尝试 Spring Boot CLI。否则,请继续阅读下文的“经典”安装说明。
1. 面向 Java 开发者的安装说明
你可以像使用任何标准 Java 库一样使用 Spring Boot:只需将对应的 spring-boot-*.jar 文件包含在你的类路径(Classpath)中即可。
Spring Boot 不需要任何特殊的 IDE 集成,因此你可以使用任何 IDE 或文本编辑器。此外,Spring Boot 应用程序也没有什么特殊之处,你可以像运行和调试其他 Java 程序一样来运行和调试它。
虽然你可以直接复制 JAR 包,但我们通常建议你使用支持依赖管理的构建工具(如 Maven 或 Gradle)。
Maven 安装
Spring Boot 兼容 Apache Maven 3.6.3 或更高版本。
Spring Boot 的依赖项使用 org.springframework.boot 组 ID。通常,你的 Maven POM 文件会继承 spring-boot-starter-parent 项目,并声明一个或多个 Starters。Spring Boot 还提供了一个可选的 Maven 插件 用于创建可执行 JAR。
提示
在许多操作系统上,Maven 可以通过包管理器安装。
- Mac (Homebrew):
brew install maven - Ubuntu:
sudo apt-get install maven - Windows (Chocolatey):
choco install maven(需要管理员权限)
Gradle 安装
Spring Boot 兼容 Gradle 8.x (8.14 或更高) 以及 9.x。
Spring Boot 提供了一个实用的 Gradle 插件,可用于简化依赖声明并创建可执行 JAR。
Gradle Wrapper
Gradle Wrapper(gradlew)是获取 Gradle 的推荐方式。它是一个小型脚本和库,你可以将其随代码一起提交,以便在任何环境下自动下载并启动特定版本的构建过程。
2. Spring Boot CLI 安装
Spring Boot CLI 是一个命令行工具,可用于快速构建 Spring 原型。
SDKMAN! 安装 (推荐)
SDKMAN! 可用于管理多种二进制 SDK 的版本,包括 Spring Boot CLI。
$ sdk install springboot
$ spring --version
Spring CLI v4.0.1Mac Homebrew 安装
如果你使用的是 Mac 且安装了 Homebrew:
$ brew tap spring-io/tap
$ brew install spring-bootWindows Scoop 安装
如果你在 Windows 上使用 Scoop:
$ scoop bucket add extras
$ scoop install springboot手动安装
你可以下载二进制分发包:
解压后,在 bin/ 目录下可以找到 spring 脚本(Windows 为 spring.bat)。
补充教学
1. 为什么推荐使用 Maven/Gradle 而不是手动导入 JAR?
依赖管理是关键。Spring Boot 的一个 Starter 可能会引出数十个二级依赖(如 Web Starter 引入 Tomcat、Jackson、Validation 等)。手动管理这些 JAR 的版本及其兼容性是极其痛苦且易错的。构建工具通过传递依赖管理,让你只需要关心你“想要什么”,而不是“需要哪些文件”。
2. Spring Boot CLI 的适用场景
CLI 最适合用来跑一些简单的测试、原型演示或快速验证某个想法。它甚至支持直接运行 .groovy 脚本。但在开发正式的生产级项目时,还是应该回到传统的 Maven/Gradle 项目结构。
3. 理解命令行补全 (CLI Completion)
CLI 工具包含了针对 BASH 和 ZSH 的自动补全脚本。如果你通过 Homebrew 或 MacPorts 安装,补全是自动配置好的。通过 SDKMAN! 手动安装时,你可能需要手动 source 下对应的脚本。这能让你在终端输入 spring 后按 Tab 键直接看到可用的命令(如 init, shell, version),极大地提升效率。