Spring Boot CLI使用教程
作者:木杉 发布时间:2023-03-30 03:37:02
Spring Boot CLI是Spring Boot项目提供的一个用于快速运行Spring Boot应用的命令行工具,通过结合Groovy,可以实现一个文件的WEB应用,用于快速实验原型是最好不过的了。
安装
手动安装:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started-installing-the-cli
下载spring-boot-cli-1.5.8.RELEASE-bin.zip,解压,然后把spring-1.5.8.RELEASE\bin的路径加入PATH环境变量。
一个文件的web应用
一般Java想要启动一个web应用需要很多样板代码与配置,一个基于Spring的web应用就更加可怕了,如果没有IDE的帮助,新建一个估计得查半天资料。而使用Spring Boot CLI我们只需要一个文件!
新建文件app.groovy:
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
"Hello World!"
}
}
然后执行$ spring run app.groovy,第一次执行会下载依赖,会慢一些,之后就很快了,通过localhost:8080可以访问这个应用。
如果想指定别的端口:
$ spring run hello.groovy -- --server.port=9000
这里的--用于区分传递给spring应用的参数和传递给cli的参数。
新建项目
Spring Boot CLI可以新建项目,他其实是调用start.spring.io来新建项目。比如:
$ spring init --dependencies=web,data-jpa my-project
Using service at https://start.spring.io
Project extracted to '/Users/developer/example/my-project'
这样就不用去网站上新建项目再下载下来了。通过可以查看有哪些可以使用的构建工具和依赖:
$ spring init --list
=======================================
Capabilities of https://start.spring.io
=======================================
Available dependencies:
-----------------------
actuator - Actuator: Production ready features to help you monitor and manage your application
...
web - Web: Support for full-stack web development, including Tomcat and spring-webmvc
websocket - Websocket: Support for WebSocket development
ws - WS: Support for Spring Web Services
Available project types:
------------------------
gradle-build - Gradle Config [format:build, build:gradle]
gradle-project - Gradle Project [format:project, build:gradle]
maven-build - Maven POM [format:build, build:maven]
maven-project - Maven Project [format:project, build:maven] (default)
...
一个更加完整的用法:
$ spring init --build=gradle --java-version=1.8 --dependencies=websocket --packaging=war sample-app.zip
Using service at https://start.spring.io
Content saved to 'sample-app.zip'
来源:http://mushanshitiancai.github.io/2017/10/18/java/spring/Spring-Boot-CLI%E4%BD%BF%E7%94%A8/?utm_source=tuicool&utm_medium=referral


猜你喜欢
- 本文实例讲述了C#实现的XML操作类。分享给大家供大家参考。具体如下:这里讲述了C#写的一个XML操作类,包括读取/插入/修改/删除。usi
- 这里不准备讨论REST的细节内容,但是总体上,REST是让客户端与服务器段的交互通过发送和接收展示资源的方式来进行,在这里有必要说明:Fie
- SpringBoot实战电商项目mall(30k+star)地址:https://github.com/macrozheng/mall摘要权
- null与voidnull值用来表示数据类型未被赋予任何值,它是一种引用类型;void表示没有类型,或者说是没有任何值。null与void的
- 需求说明要求根据用户输入,生成相应组数的电话号码实现思路1、通过百度,获取对应真实世界中电话号码的头三位数2、采用Math.random()
- 什么是代理模式?代理模式:在调用处不直接调用目标类进行操作,而是调用代理类,然后通过代理类来调用目标类进行操作。在代理类调用目标类的前后可以
- 整型变量基本语法格式int变量名= 初始值;代码示例int a = 10;int表示变量的类型是一个整型。在 Java 中, 一个int变量
- 第一步:整合pom文件,在Spring Cloud中添加XXL-Job的依赖<!-- xxl-job-core --><d
- C# 解析 jsonJSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaSc
- 假设目录结构是maven标准结构-src-target-test.jar(你需要更新的jar包)package com.foo.common
- 本文实例为大家分享了Java实现多任务执行助手的具体代码,供大家参考,具体内容如下1.多线程执行任务类package com.visy.th
- 我们在使用ListView的时候,一般都会为ListView添加一个响应事件android.widget.AdapterView.OnIte
- 本文实例讲述了java设置session过期时间的实现方法,分享给大家供大家参考。具体实现方法如下:1、Timeout in the dep
- 目录源码实现基本流程ThreadLoalMap数据结构Hash冲突及解决ThreadLocal内存泄露内存引用链路引用类型为什么使用弱引用而
- NotificationManager 是状态栏通知的管理类,负责发通知、清除通知等操作。NotificationManager 是一个系统
- JDK SPI是什么最近工作中听几个同事说了好几次SPI这个名词,虽然和我没关系,但是心里默默想还是学习一下,不然下次和我说到SPI,连是什
- 文章来源:互联网 作者:ggg82/CSDN现在许多用户界面都使用工具栏制作菜单条,小弟最近对此感兴趣,便从网上求助,可是得到的帮助大多是B
- 微信登录的实现与qq登录类似。不过微信登录比较麻烦,需要拿到开发者资质认证,花300块钱,然后应用的话还得有官网之类的,就是比较繁琐的前期准
- using System;using System.Collections.Generic;using System.ComponentMo
- springboot读取配置文件到静态工具类通常我们读取配置文件可以用@Value注解和@Configuration,@Configurat