重学SpringBoot3-安装Spring Boot CLI
更多SpringBoot3内容请关注我的专栏:《SpringBoot3》
期待您的点赞👍收藏⭐评论✍
重学SpringBoot3-安装Spring Boot CLI
- 1. 什么是 Spring Boot CLI?
- 2. Spring Boot CLI 的安装
- 2.1. 通过 SDKMAN! 安装
- 2.2. 通过 Homebrew 安装(适用于 macOS)
- 2.3. 直接下载二进制文件
- 2.4. 基本命令
- 3. Spring Boot CLI 的基本使用
- 3.1. 使用 Spring Boot CLI 初始化项目
- 创建一个 Maven 项目:
- 创建一个 Gradle 项目:
- 列出可用依赖项:
- 3.2. 使用嵌入式Shell
- 3.3. 加密密码
- 4. 总结
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 是一个非常值得尝试的工具。
相关文章:
重学SpringBoot3-安装Spring Boot CLI
更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-安装Spring Boot CLI 1. 什么是 Spring Boot CLI?2. Spring Boot CLI 的安装2.1. 通过 SDKMAN! 安装2.2. 通过 Homebrew 安装(适…...
代码复现(五):GCPANet
文章目录 net.py1.class Bottleneck:残差块2.class ResNet:特征提取3.class SRM:SR模块4.class FAM:FIA模块5.class CA:GCF模块6.class SA:HA模块7.class GCPANet:网络架构 train.pytest.py 论文…...
联邦学习实验复现—MNISIT IID实验 pytorch
联邦学习论文复现🚀 在精度的联邦学习的论文之后打算进一步开展写一个联邦学习的基础代码,用于开展之后的相关研究,首先就是复现一下论文中最基础也是最经典的MNIST IID(独立同分布划分) 数据集。然后由于这个联邦学习的论文是谷歌发的&#…...
2015年-2017年 计算机技术专业 程序设计题(算法题)实战_c语言程序设计数据结构程序设计分析
文章目录 20151.C语言算法设计部分2.数据结构算法设计部分 20161.C语言算法设计部分2.数据结构算法设计部分 2017年1. C语言算法设计部分2.数据结构算法设计部分 2015 1.C语言算法设计部分 int total(int n) {if(n1) return 1;return total(n-1)n1; } //主函数测试代码已省略…...
个人用计算理论导引笔记(待补充)
文章目录 一、正则语言预备知识确定性有穷自动机(DFA)设计DFA正则运算 非确定性有穷自动机(NFA,含有 ε \varepsilon ε,下一个状态可以有若干种选择(包括0种))正则表达式定义计算优…...
2024年诺贝尔物理学奖揭晓:AI背后的“造梦者”是谁?
想象一下,你早上醒来,智能音箱为你播放天气和新闻,中午你用手机刷视频,精准的推荐内容简直和你心有灵犀,晚上回家,自动驾驶汽车安全地把你送回家。这一切看似理所当然,背后却有一双无形的手推动…...
2024年AI 制作PPT新宠儿,3款神器集锦,让你的演示与众不同
咱们今儿聊聊最近超火的AI做PPT的工具。这年头,谁不想省事儿,少熬夜加班,多享受享受生活啊?所以,AI开始帮咱们搞定做PPT这种费时的活儿,我自然得好好研究研究。今天,我就给大家详细说说三款很火…...
CLion和Qt 联合开发环境配置教程(Windows和Linux版)
需要安装的工具CLion 和Qt CLion下载链接 :https://www.jetbrains.com.cn/clion/ 这个软件属于直接默认安装就行,很简单,不多做介绍了 Qt:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/ window 直接点exe Linux 先c…...
Qt记录使用QtAwesome
Qt记录使用QtAwesome 基本使用 基本使用 pro文件添加 CONFIG fontAwesomeFree include(QtAwesome/QtAwesome.pri) //实例化QtAwesome fa::QtAwesome* awesome new fa::QtAwesome(this); awesome->initFontAwesome();//设置外置适应 图标ICON的颜色color QVariantMap opt…...
ES6新增promise(异步编程新解决方案)如何封装ajax?
1.什么是异步? 异步是指从程序在运行过程中可以先执行其他操作。 2.什么是promise? Promise 是 ES6 引入的异步编程的新解决方案。语法上 Promise 是一个构造函数,用来封装异步 操作并可以获取其成功或失败的结果; 3.promise成功…...
Kubernetes--深入理解Service与CoreDNS
文章目录 Service功能Service 的常见使用场景 Service的模式iptablesIPVS Service类型ClusterIPNodePortLoadBalancerExternalName Service的工作机制EndpointEndpoint 与 Service 的关系Endpoint 的工作原理命令操作 CoreDNSCoreDNS 的配置CoreDNS 的典型插件Corefile 示例Cor…...
AI大模型:开启智能革命新纪元
1.AI大模型技术:智能革命的新引擎 自2022年11月30日OpenAI推出ChatGPT以来,这一大型语言模型(LLM)迅速走红,标志着AI领域进入了一个新的发展阶段,即AI大模型时代。 这一时代预示着AI正朝着通用人工智能&am…...
快速上手C语言【下】(非常详细!!!)
目录 1. 指针 1.1 指针是什么 1.2 指针类型 1.2.1 指针-整数 1.2.2 指针解引用 1.3 const修饰 1.4 字符指针 1.5 指针-指针 1.6 二级指针 2. 数组 2.1 定义和初始化 2.2 下标引用操作符[ ] 2.3 二维数组 2.4 终极测试 3. 函数 3.1 声明和定义 3.2 传值调用…...
红黑树的理解与实现(详解)
相关的数据结构: 搜索二叉树-CSDN博客 AVL树的创建与检测-CSDN博客 个人主页:敲上瘾-CSDN博客 个人专栏:游戏、数据结构、c语言基础、c学习、算法 目录 一、红黑树规则: 二、红黑树的插入 1.变色 2.单旋变色 3.双旋变色 三、…...
从一到无穷大 #37 Databricks Photon:打响 Spark Native Engine 第一枪
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言技术决策JVM vs. Native ExecutionInterpreted Vectorization vs Code-GenRow vs…...
Java 字符串占位格式化
Java 提供了几种方式来处理字符串占位符,最常用的是 String 类的 format 方法和 MessageFormat 类。以下是这两种方法的详细说明和示例。 1、String.format 基本语法: String formatted String.format("格式字符串", 参数1, 参数2, ...); …...
基于netty实现简易版rpc服务-理论分析
1.技术要点 1.1 rpc协议 定义一个rpc协议类,用于rpc服务端和客户端数据交互。 1.2 netty粘包半包处理 由于数据传说使用tcp协议,rpc协议的数据在网络传输过程中会产生三种情况: 1)刚好是完整的一条rpc协议数据 2)不…...
Elasticsearch高级搜索技术-全文搜索
目录 倒排索引 (Inverted Index) 示例 分词器 (Analyzer) 评分机制 (Scoring) 查询执行 match 查询 match_phrase 查询 全文搜索是Elasticsearch的核心功能之一,它通过复杂的算法和数据结构来提供高效的搜索能力。为了深入理解其工作原理,我们需要…...
案例分享—国外优秀UI卡片设计作品赏析
国外UI设计注重用户体验,倾向于采用简洁的布局、清晰的排版和直观的交互方式,减少用户的认知负担。卡片式设计能够完美利用屏幕空间,使内容一目了然,易于用户快速浏览和阅读,从而提升了整体的用户体验。 更加注重扁平化…...
Go语言基础学习(Go安装配置、基础语法)
一、简介及安装教程 1、为什么学习Go? 简单好记的关键词和语法;更高的效率;生态强大;语法检查严格,安全性高;严格的依赖管理, go mod 命令;强大的编译检查、严格的编码规范和完整的…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
