SpringBoot:模块探究之spring-boot-cli

news2025/1/23 10:24:29

Spring Boot CLI 是运行 SpringBoot 命令的命令行工具,能够帮助你快速的构建 Spring Boot 项目。只需要编写简单的 groovy 脚本,即可用最少的代码构建并运行一个完整的 Spring Boot 项目。

Spring Boot CLI 为 SpringCloud 提供了 SpringBoot 命令行功能。我们可以编写 groovy 脚本来运行 SpringCloud 组件应用程序(例如 @enableurekaserver)。我们还可以轻松地执行加密和解密等操作,以支持具有机密配置值的 SpringCloud 配置客户端。使用启动器 cli,我们可以从命令行方便地同时启动诸如 eureka、zipkin、config server 等服务(这在开发时非常有用)。

~

本篇内容包括:spring-boot-cli 模块介绍、spring-boot-cli 模块安装、spring-boot-cli 模块 DEMO


文章目录

    • 一、spring-boot-cli 模块介绍
        • 1、关于 spring-boot-cli 模块
        • 2、关于 Groovy 语言
        • 3、spring-boot-cli 源码地址
        • 4、spring-boot-cli 优势
    • 二、spring-boot-cli 模块安装
        • 1、spring-boot-cli 模块官网地址
        • 2、spring-boot-cli 模块安装
        • 3、spring-boot-cli 模块环境变量配置
    • 三、spring-boot-cli 模块 DEMO
        • 1、新建脚本
        • 2、运行脚本


一、spring-boot-cli 模块介绍

1、关于 spring-boot-cli 模块

Spring Boot CLI 是运行 SpringBoot 命令的命令行工具,能够帮助你快速的构建 Spring Boot 项目。只需要编写简单的 groovy 脚本,即可用最少的代码构建并运行一个完整的 Spring Boot 项目。

Spring Boot CLI 为 SpringCloud 提供了 SpringBoot 命令行功能。我们可以编写 groovy 脚本来运行 SpringCloud 组件应用程序(例如 @enableurekaserver)。我们还可以轻松地执行加密和解密等操作,以支持具有机密配置值的 SpringCloud 配置客户端。使用启动器 cli,我们可以从命令行方便地同时启动诸如 eureka、zipkin、config server 等服务(这在开发时非常有用)。

2、关于 Groovy 语言

Groovy 是一种基于 JVM(Java虚拟机)的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 也可以使用其他非 Java 语言编写的库。

3、spring-boot-cli 源码地址

spring-boot-cli 位于 spring-boot 项目中。

spring-boot-cli 在 源码地址为:https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE/spring-boot-project/spring-boot-cli

4、spring-boot-cli 优势

spring-boot-cli 具有以下优势/特点:

  • Spring boot CLI 应用程序使用 groovy。我们在应用程序中创建 groovy 文件,为此我们不需要提供 groovy 的任何 JAR 依赖。SpringBoot 会自己配置 groovy 的 JAR 依赖项;

二、spring-boot-cli 模块安装

1、spring-boot-cli 模块官网地址

spring-boot-cli 官网地址:https://docs.spring.io/spring-boot/docs/current/reference/html/cli.html#cli.

spring-boot-cli 安装官网地址: https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.installing.cli.

spring-boot-cli 版本安装地址: https://repo.spring.io/ui/native/release/org/springframework/boot/spring-boot-cli

image-20221218133314395

PS:此处采用的版本与上图不同为 2.5.5

2、spring-boot-cli 模块安装

# 自行选择压缩包及版本后下载,解压后目录:

image-20221218145711463

3、spring-boot-cli 模块环境变量配置

# vi ~/.bash_profile 添加以下内容

export SPRING_HOME=/Users/lizhengi/Downloads/spring-2.5.5
export PATH=$PATH:$SPRING_HOME/bin

# source ~/.bash_profile 更新环境变量

# 查看版本验证配置成功 spring --version

lizhengi@localhost ~ % spring --version
Spring CLI v3.0.0

三、spring-boot-cli 模块 DEMO

1、新建脚本

一般 Java 想要启动一个 web 应用需要很多样板代码与配置,一个基于 Spring 的 web 应用就更加可怕了,如果没有IDE的帮助,新建一个估计得查半天资料。而使用 Spring Boot CLI 我们只需要一个文件!

# 新建一个 Groovy 脚本:hello.groovy

@RestController
class ThisWillActuallyRun {
    @RequestMapping("/")
    String home() {
        "Hello World!--------"
    }
}

# 或者新建一个 Java 脚本:hello.java

@RestController
public class Hello {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello World Java!";
    }
}

2、运行脚本

然后执行

$ spring run app.groovy

第一次执行会下载依赖,会慢一些,之后就很快了,通过localhost:8080可以访问这个应用。

如果想指定别的端口:

$ spring run hello.groovy -- --server.port=9000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/105349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java面试--CAS

这里写目录标题一、概念二、CAS 如何保证原子性2.1、总线锁定2.2、缓存锁定二、底层原理三、CAS典型应用四、CAS问题4.1、循环时间长,开销很大4.2、只能保证一个共享变量的原子操作4.3、引出来 ABA 问题一、概念 判断内存中某个位置的值是否为预期值,如…

Bootstrap5 表单浮动标签

默认情况下&#xff0c;标签内容一般显示在 input 输入框的上方&#xff1a; 使用浮动标签&#xff0c;可以在 input 输入框内插入标签&#xff0c;在单击 input 输入框时使它们浮动到上方 Bootstrap 实例 <div class"form-floating mb-3 mt-3"> <input ty…

uni.requestPayment使用

前言&#xff1a;由于uni.requestPayment没有封装H5支付方法&#xff0c;我自己封装了统一方法可以多端适用。 代码如下&#xff1a; 有两种方法&#xff1a; 方法1&#xff1a;安装 jweixin-module 包&#xff0c;我的是1.6.0版本->引入->使用 方法2&#xff1a;使用微…

51单片机实训day2——创建Keil工程(一)

以管理员身份打开软件&#xff01;&#xff01;&#xff01;以管理员身份打开软件&#xff01;&#xff01;&#xff01;以管理员身份打开软件&#xff01;&#xff01;&#xff01; 内 容&#xff1a;Keil工程创建 学 时&#xff1a;2学时 知识点&#xff1a;开发固件库介绍…

【Linux】进程替换与shell的模拟实现

目录 一、进程替换 1.1 进程替换的概念 1.2 替换函数 二、命令行解释器-Shell 2.1 shell的实现与运行 2.2 步骤讲解 一、进程替换 1.1 进程替换的概念 当我们使用 fork 函数创建子进程后&#xff0c;父子进程各自执行父进程代码的一部分。那如果创建的子进程想要执行一…

UG/NX二次开发Siemens官方NXOPEN实例解析—2.4 File2Points

列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析—2.1 AssemblyViewer UG/NX二次开发Siemens官方NXOPEN实例解析—2.2 Selection UG/NX二次开发Siemens官方NXOPEN实例解析—2.3 Selection_UIStyler UG/NX二次开发Siemens官方NXOPEN实例解析—2.4 File2Points 前言 随着…

Python开发的编译神器PyCharm----测试从业来编写Python脚本最钟意的工具

目录 前言&#xff1a; 一、PyCharm简介 二、PyCharm下载与安装 1、下载 2、安装 三、PyCharm新增Python项目 步骤1、新增 步骤2、路径配置 步骤3、环境选择 步骤4、 项目运行 四、画圣诞树 前言&#xff1a; 本文将为大家介绍PyCharm下载安装与初步的使用&#xff0c;初…

外汇天眼:美国11月独栋房屋建设跌至两年半低点!

美国商务部周二公布了这份令人沮丧的报告&#xff0c;此前周一有消息称&#xff0c;12月份房屋建筑商信心连续第12个月出现创纪录的下滑。美国11月独栋房屋建设跌至两年半低点&#xff0c;未来建筑许可大幅下滑&#xff0c;因抵押贷款利率上升继续打压楼市活动。 具体数据显示&…

(十九)Vue之组件和模块概念

文章目录传统编程组件化编程模块模块化组件化Vue学习目录 上一篇&#xff1a;&#xff08;十八&#xff09;Vue之生命周期 传统编程 一个html引入大量的CSS、JS文件&#xff0c;使得结构混乱、代码复用率低 传统方式编写应用存在的问题&#xff1a; 1.依赖关系混乱、不好维护…

某讯滑块验证码反汇编分析-第三章

某讯滑块验证码反汇编分析-第三章collect明文处理vData明文处理collect明文处理 上一篇已经跟到明文的拼接函数&#xff0c;接下来看看get函数的返回值&#xff0c;对什么进行拼接。 在这一次运行中&#xff0c;第一次get返回的是一个10&#xff0c;是怎么计算出来的呢&#x…

[XCTF]red_green(难度2)

得到一个乱码的图片&#xff0c;查看信息&#xff0c;联系“red_green” 目录 前言 一、题目重述 二、解题思路 1.套路来一遍 2.过程中注意到以下两点&#xff1a; &#xff08;1)stegsolve图层中只有red/green&#xff0c;与题目暗合 &#xff08;2)zsteg查看隐写信息发…

springboot+jsp实验室管理系统fu1ju-

目录 第一章 绪论 5 1.1 研究背景 5 1.2系统研究现状 5 1.3 系统实现的功能 6 1.4系统实现的特点 6 1.5 本文的组织结构 6 第二章开发技术与环境配置 7 2.1 Java语言简介 7 2.2JSP技术 8 2.3 MySQL环境配置 8 2.4 MyEclipse环境配置 9 2.5 mysql数据库介绍 9 2.6 B/S架构 9 第三…

2022年度安徽省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛试题

2022年度安徽省职业院校技能大赛 中职组“网络搭建与应用” 赛项竞赛 &#xff08;总分1000分&#xff09; 竞赛说明 一、竞赛内容分布 “网络搭建与应用”竞赛共分三个部分&#xff0c;其中&#xff1a; 第一部分&#xff1a;网络搭建及安全部署项目&#xff08;500分&…

SpringCloud-Feign远程调用

&#x1f341;Feign的介绍 Feign是一个声明式的http客户端&#xff0c;官方地址: https://github.com/0penFeign/feign作用就是帮助我们优雅的实现http请求的发送&#xff0c;解决上面提到的问题。 &#x1f341;定义和使用Feign客户端 1.引入依赖 在order-service服务的po…

【PyTorch Geometric】工具包安装部署 过程记录(图模型学习 需要安装的工具包);图神经网络 工具包安装过程记录

目录 部署过程下载别的版本试试部署过程 在常规的安装过程中,若直接通过pip,老师讲 大概率无法成功安装。比较正规的安装方法是,下载好工具包,手动安装。 首先通过 Jupyter Notebook打开配置文档: 有些步骤在该文档中。 点击上图中的超链接,进入对应的 GitHub。 进去…

Linux进程间通信(一):匿名管道的原理和使用

文章目录一、前言二、什么是匿名管道&#xff1f;三、匿名管道的原理三、匿名管道的创建四、匿名管道实现数据传输五、匿名管道实现进程控制六、匿名管道特点总结一、前言 &#xff08;在阅读本文前&#xff0c;需要具备Linux基础IO的基本知识&#xff09;  在某些特定情况下…

【Linux】Linux下基本指令(二)

作者&#xff1a;一个喜欢猫咪的的程序员 专栏&#xff1a;《Linux》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 目录 1. Linux基本指令&#xff1a;&#xff08;续&#xff09; 1.1man指令&am…

英国访问学者AV签证超期怎么办?

英国AV签证只给12个月整&#xff0c;关于 AV签证超期怎么办&#xff1f;知识人网访问学者老师和大家聊一聊&#xff1a; 一、呆不满一年(360天)会遇到的问题主要有&#xff1a; 1、无法申请留学回国科研启动基金。 2、需要向CSC返还一定的资助费用。 3、国内一些地方判断一个…

数字化转型如何认清本质少被忽悠:小步快跑看到项目效果再推下一步

这些年&#xff0c;我们见识了太多新概念&#xff1a;数据智能、Data Fabric、数据虚拟化还有最著名的“数据中台”。 然而&#xff0c;跟几年前疯狂追逐这些热词不同&#xff0c;或者说因为已经踩坑踩到晕厥。动辄一个千万的中台项目投入进去&#xff0c;上线后高层看数还是要…

【网络安全】Redis未授权访问查看敏感文件

前言 什么是未授权访问漏洞呢&#xff1f;也就是没有权限&#xff0c;但是可以访问站点或者服务器的漏洞&#xff0c;称之为未授权访问漏洞&#xff0c;这个属于高危漏洞。比如我们常见的路由器未授权访问等等。 一、准备阶段 service httpd.service start 开启apache服务se…