当前位置: 首页 > news >正文

重学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。

安装步骤:

  1. 安装 SDKMAN!

    如果还没有安装 SDKMAN!,可以通过以下命令安装(windows下可在 git bash 中执行以下命令):

    curl -s "https://get.sdkman.io" | bash
    source "$HOME/.sdkman/bin/sdkman-init.sh"
    

    查看SDKMAN!安装情况

  2. 使用 SDKMAN! 安装 Spring Boot CLI

    安装好 SDKMAN! 之后,你可以直接安装 Spring Boot CLI:

    sdk install springboot
    

    SDKMAN安装 Spring Boot CLI

  3. 验证安装

    安装完成后,运行以下命令来确认安装成功并查看版本:

    spring --version
    

    Spring Boot CLI安装情况

    如果看到类似如下输出,说明 Spring Boot CLI 已成功安装:

    Spring CLI v3.x.x
    

2.2. 通过 Homebrew 安装(适用于 macOS)

对于 macOS 用户,可以使用 Homebrew 来安装 Spring Boot CLI:

  1. 安装 Homebrew(如果尚未安装):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 通过 Homebrew 安装 Spring Boot CLI

    brew tap spring-io/tap
    brew install spring-boot-cli
    
  3. 验证安装

    使用以下命令检查安装是否成功:

    spring --version
    

2.3. 直接下载二进制文件

如果不想使用 SDKMAN! 或 Homebrew,还可以直接从 Spring 官网下载 Spring Boot CLI 的压缩包。

  1. 下载 Spring Boot CLI

    访问 Spring Boot 的 下载页面 ,找到 Spring Boot CLI 的二进制下载链接并下载适合你的系统的文件。

    下载地址

  2. 解压文件

    将下载的压缩文件解压到你想安装的目录:

    unzip spring-boot-cli-3.x.x-bin.zip
    
  3. 配置环境变量

    解压后将 spring 命令所在的目录添加到系统的 PATH 中。比如,你可以在 .bashrc.zshrc 中添加:

    export PATH=$PATH:/path/to/spring-boot-cli/bin
    
  4. 验证安装

    和前面一样,使用以下命令验证安装成功:

    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 项目结构。

spring init命令

创建一个 Maven 项目:

spring init --dependencies=web --build=maven my-app

上面的命令会生成一个名为 my-app 的目录,里面包含一个简单的 Spring Boot 项目,并自动引入了 spring-boot-starter-web 依赖。

你可以使用任何你喜欢的 IDE 打开这个项目,然后执行 mvn spring-boot:run 来启动它。

my-app项目

my-app项目

创建一个 Gradle 项目:

如果你更喜欢 Gradle,可以使用 --build=gradle 参数(默认就是 gradle):

spring init --dependencies=web --build=gradle my-app

列出可用依赖项:

spring init --list

显示所有可用的 Spring Boot 依赖项,方便用户在初始化项目时选择。

spring init --list命令

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 命令;强大的编译检查、严格的编码规范和完整的…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...