Skip to content

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 之旅吧! 🚀