1. 什么是 Spring Boot CLI?
Spring Boot CLI(Command Line Interface)是 Spring Boot 提供的一个命令行工具,用于简化开发 Spring 应用程序的过程。借助 Spring Boot CLI,开发者可以通过 Groovy 脚本快速创建和运行 Spring 应用,而不需要像传统的 Spring 应用那样配置繁琐的 XML 文件或 Java 配置类。
它适用于原型设计、快速实验以及小型应用的开发场景。在这篇博客中,我将详细介绍如何安装和使用 Spring Boot CLI,并演示一些基本用法。
2. Spring Boot CLI 的安装
Spring Boot CLI 支持多种安装方式,包括通过 SDKMAN!、Homebrew 或者直接下载二进制包。你可以选择自己最喜欢的方式进行安装。
2.1. 通过 SDKMAN! 安装
SDKMAN! 是一个管理多种开发工具的工具,推荐用来安装和管理 Spring Boot CLI。
安装步骤:
-
安装 SDKMAN!
如果还没有安装 SDKMAN!,可以通过以下命令安装(windows下可在 git bash 中执行以下命令):
curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"
-
使用 SDKMAN! 安装 Spring Boot CLI
安装好 SDKMAN! 之后,你可以直接安装 Spring Boot CLI:
sdk install springboot
-
验证安装
安装完成后,运行以下命令来确认安装成功并查看版本:
spring --version
如果看到类似如下输出,说明 Spring Boot CLI 已成功安装:
Spring CLI v3.x.x
2.2. 通过 Homebrew 安装(适用于 macOS)
对于 macOS 用户,可以使用 Homebrew 来安装 Spring Boot CLI:
-
安装 Homebrew(如果尚未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
通过 Homebrew 安装 Spring Boot CLI:
brew tap spring-io/tap brew install spring-boot-cli
-
验证安装:
使用以下命令检查安装是否成功:
spring --version
2.3. 直接下载二进制文件
如果不想使用 SDKMAN! 或 Homebrew,还可以直接从 Spring 官网下载 Spring Boot CLI 的压缩包。
-
下载 Spring Boot CLI:
访问 Spring Boot 的 下载页面 ,找到 Spring Boot CLI 的二进制下载链接并下载适合你的系统的文件。
-
解压文件:
将下载的压缩文件解压到你想安装的目录:
unzip spring-boot-cli-3.x.x-bin.zip
-
配置环境变量:
解压后将
spring
命令所在的目录添加到系统的PATH
中。比如,你可以在.bashrc
或.zshrc
中添加:export PATH=$PATH:/path/to/spring-boot-cli/bin
-
验证安装:
和前面一样,使用以下命令验证安装成功:
spring --version
2.4. 基本命令
通过输入 spring
获取spring boot cli 基本命令,通过 spring help xx
获取命令使用方式。
3. Spring Boot CLI 的基本使用
3.1. 使用 Spring Boot CLI 初始化项目
Spring Boot CLI 可以通过 spring init
命令来快速生成 Spring Boot 项目。类似于 Spring Initializr 网站,这个命令可以创建一个标准的 Maven 或 Gradle 项目结构。
创建一个 Maven 项目:
spring init --dependencies=web --build=maven my-app
上面的命令会生成一个名为 my-app
的目录,里面包含一个简单的 Spring Boot 项目,并自动引入了 spring-boot-starter-web
依赖。
你可以使用任何你喜欢的 IDE 打开这个项目,然后执行 mvn spring-boot:run
来启动它。
创建一个 Gradle 项目:
如果你更喜欢 Gradle,可以使用 --build=gradle
参数(默认就是 gradle):
spring init --dependencies=web --build=gradle my-app
列出可用依赖项:
spring init --list
显示所有可用的 Spring Boot 依赖项,方便用户在初始化项目时选择。
3.2. 使用嵌入式Shell
Spring Boot 包含 BASH 和 zsh shell 的命令行补全脚本。如果不使用这两种 shell(也许您是 Windows 用户),则可以使用 shell 命令启动集成 shell,如以下示例所示:
$ spring shell
Spring Boot (v3.3.4)
Hit TAB to complete. Type \'help' and hit RETURN for help, and \'exit' to quit.
$
输入 exit
或者 ctrl + c
退出 shell 模式。
3.3. 加密密码
Spring Boot CLI 的另一个功能就是可以对密码进行编码以便与 Spring Security 一起使用,对应于使用 BCryptPasswordEncoder 进行加密。
$ encodepassword CoderJia123
{bcrypt}$2a$10$IYSC8wOZ8bbi390SN3Qfteen4pqptmzi3Kkd5iouoh621lZtzoYpu
4. 总结
Spring Boot CLI 是一个强大的工具,能够帮助开发者快速创建、运行和测试 Spring 应用程序。通过简洁的 Groovy 语言,你可以减少很多样板代码,并专注于业务逻辑的开发。特别是在原型设计和快速实验场景中,它极大地提高了开发效率。
对于想要体验 Spring Boot 强大功能且不想被繁杂配置束缚的开发者,Spring Boot CLI 是一个非常值得尝试的工具。