Appearance
Spring Boot CLI 安装指南 🚀
什么是 Spring Boot CLI? 🤔
Spring Boot CLI(Command-Line Interface)是 Spring Boot 提供的命令行工具,它让开发者能够快速创建和运行 Spring Boot 应用程序,无需复杂的项目配置。
NOTE
CLI 工具特别适合快速原型开发、学习 Spring Boot 或创建简单的脚本化应用程序。
为什么需要 Spring Boot CLI? 💡
传统开发方式的痛点
在没有 CLI 工具的情况下,创建一个简单的 Spring Boot 应用需要:
kotlin
// 1. 创建项目结构
// 2. 配置 build.gradle.kts
plugins {
kotlin("jvm") version "1.9.0"
kotlin("plugin.spring") version "1.9.0"
id("org.springframework.boot") version "3.1.0"
id("io.spring.dependency-management") version "1.1.0"
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
// ... 更多依赖配置
}
// 3. 创建主类
@SpringBootApplication
class Application
fun main(args: Array<String>) {
runApplication<Application>(*args)
}
// 4. 创建控制器
@RestController
class HelloController {
@GetMapping("/hello")
fun hello(): String = "Hello, World!"
}
kotlin
// hello.groovy (CLI 支持 Groovy 脚本)
@RestController
class HelloController {
@RequestMapping("/hello")
String hello() {
return "Hello, World!"
}
}
// 运行命令:spring run hello.groovy
// 就这么简单! ✨
CLI 的核心价值
CLI 安装方式详解 ⚙️
方式一:使用 SDKMAN!(推荐) ⭐
SDKMAN! 是一个强大的 SDK 管理工具,特别适合 Java 生态系统。
为什么推荐 SDKMAN!?
- 支持多版本管理
- 跨平台兼容(Linux、macOS、Windows WSL)
- 自动处理环境变量
- 可以管理多个 Java 相关工具
安装步骤
bash
# 1. 安装 SDKMAN!
curl -s "https://get.sdkman.io" | bash
# 2. 重新加载终端或执行
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 3. 验证安装
sdk version
# 4. 安装 Spring Boot CLI
sdk install springboot
# 5. 验证 CLI 安装
spring --version
版本管理示例
bash
# 查看可用版本
sdk list springboot
# 安装特定版本
sdk install springboot 3.1.0
# 切换版本
sdk use springboot 3.1.0
# 设置默认版本
sdk default springboot 3.1.0
方式二:macOS 用户专属选项
使用 Homebrew
bash
# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Spring Boot CLI
brew tap spring-io/tap
brew install spring-boot
# 验证安装
spring --version
使用 MacPorts
bash
# 安装 MacPorts(需要先安装 Xcode Command Line Tools)
xcode-select --install
# 安装 Spring Boot CLI
sudo port install spring-boot-cli
# 验证安装
spring --version
方式三:手动安装
手动安装步骤(点击展开)
bash
# 1. 下载最新版本
wget https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/3.1.0/spring-boot-cli-3.1.0-bin.tar.gz
# 2. 解压
tar -xzf spring-boot-cli-3.1.0-bin.tar.gz
# 3. 移动到合适位置
sudo mv spring-3.1.0 /opt/spring-boot-cli
# 4. 添加到 PATH
echo 'export PATH=/opt/spring-boot-cli/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 5. 验证安装
spring --version
安装验证与快速体验 🧪
验证安装
bash
# 检查版本信息
spring --version
# 查看帮助信息
spring help
# 查看可用命令
spring help run
创建第一个应用
让我们创建一个简单的 REST API 来验证安装:
groovy
@RestController
class HelloController {
@RequestMapping("/")
String home() {
return "Hello, Spring Boot CLI! 🎉"
}
@RequestMapping("/api/users/{name}")
Map user(@PathVariable String name) {
return [
name: name,
message: "Welcome to Spring Boot CLI!",
timestamp: new Date()
]
}
}
bash
# 运行应用
spring run hello.groovy
# 应用启动后,访问以下 URL:
# http://localhost:8080/
# http://localhost:8080/api/users/kotlin
高级特性演示
groovy
// advanced-example.groovy
@RestController
@EnableJpaRepositories
class BookController {
@Autowired
BookRepository repository
@RequestMapping("/books")
List<Book> books() {
return repository.findAll()
}
@RequestMapping(value = "/books", method = RequestMethod.POST)
Book createBook(@RequestBody Book book) {
return repository.save(book)
}
}
@Entity
class Book {
@Id @GeneratedValue
Long id
String title
String author
}
interface BookRepository extends JpaRepository<Book, Long> {}
bash
# 运行带数据库的应用
spring run advanced-example.groovy --spring.datasource.url=jdbc:h2:mem:testdb
常见问题与解决方案 🔧
问题 1:命令未找到
WARNING
如果遇到 spring: command not found
错误
bash
# 检查 PATH 环境变量
echo $PATH
# 手动添加 Spring Boot CLI 到 PATH
export PATH=$PATH:/path/to/spring-boot-cli/bin
# 永久添加到配置文件
echo 'export PATH=$PATH:/path/to/spring-boot-cli/bin' >> ~/.bashrc
source ~/.bashrc
问题 2:Java 版本兼容性
IMPORTANT
Spring Boot CLI 需要 Java 17 或更高版本
bash
# 检查 Java 版本
java -version
# 如果版本过低,使用 SDKMAN! 安装新版本
sdk install java 17.0.7-tem
sdk use java 17.0.7-tem
问题 3:网络连接问题
TIP
在企业网络环境中可能需要配置代理
bash
# 设置代理(如果需要)
export SPRING_BOOT_CLI_OPTS="-Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=8080"
# 或者在运行时指定
spring run --spring.profiles.active=proxy hello.groovy
最佳实践建议 🏆
1. 项目组织
bash
# 推荐的项目结构
my-cli-project/
├── app.groovy # 主应用文件
├── controllers/ # 控制器目录
│ └── UserController.groovy
├── services/ # 服务层
│ └── UserService.groovy
└── config/ # 配置文件
└── application.yml
2. 依赖管理
groovy
// 在脚本中明确指定依赖
@Grab('org.springframework.boot:spring-boot-starter-data-jpa')
@Grab('com.h2database:h2')
@RestController
class DataController {
// 控制器实现
}
3. 配置管理
yaml
# application.yml
server:
port: 9090
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
jpa:
show-sql: true
总结 📝
Spring Boot CLI 是一个强大的快速开发工具,它通过以下方式简化了开发流程:
- 零配置启动:无需复杂的项目设置
- 自动依赖解析:智能识别和下载所需依赖
- 快速原型开发:几分钟内创建可运行的应用
- 学习友好:降低 Spring Boot 学习门槛
TIP
CLI 特别适合:
- 学习 Spring Boot 概念
- 快速验证想法
- 创建简单的微服务
- 编写自动化脚本
选择适合你操作系统的安装方式,开始你的 Spring Boot CLI 之旅吧! 🚀