Spring Boot CLI——centos7
Spring Boot是一个命令行工具,用于使用Spring进行快速原型搭建。它允许你运行Groovy脚本,这意味着你可以使用类Java的语法,并且没有那么多的模板代码。
所有版本下载地址
这里下载的版本spring-boot-cli-2.2.0.BUILD-20190222.193142-143-bin.tar.gz
下载完成后解压
tar spring-boot-cli-2.2..BUILD-20190222.193142--bin.tar.gz -C /home/maxzhao/
cd /home/maxzhao
mv spring-2.2..BUILD-SNAPSHOT spring-2.2.-cli
cd spring-2.2.-cli
当前目录下有INSTALL.txt文件,这里面就是具体的安装方法。
INSTALL.txt文件中讲的很清楚了,spring-boot-cli-2.2.0 需要JDK1.8+
环境变量配置:
# 管理员下
# set springboot-cli
vim /etc/profile
#最后输入
export SPRING_HOME="/home/maxzhao/soft/spring-2.2.0-cli"
export PATH="$SPRING_HOME/bin:$PATH"
#保存
source /etc/profile
spring --version
# Spring CLI v2.2.0.BUILD-SNAPSHOT
简单的springboot-cli例子
运行Groovy脚本
在完成了Spring Boot CLI的安装之后,我们来试试使用它来快速的构建一个Spring Boot应用,方法很简单,只需要如下操作:
第一步:新建一个Groovy脚本,hello.groovy,内容如下:
@RestController
class ThisWillActuallyRun { @RequestMapping("/")
String home() {
"Hello World!"
} }
第二步:使用spring命令运行该Groovy脚本,具体如下:
$ spring run hello.groovy
Resolving dependencies............................................... *::::::::::::::*
::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::: :.
*::::::::::::::::::::::::::::::::::::: :*:
::::::::::::::::::::::::::::::::::::::::::: *:
.:::::::::::::::::::::::::::::::::::::::::: :
::::::::::::::::::::::::::::::::::::::::::. .:
::::::::::::::::::::::::::::::::::::::::: :
:::::::::::::::::::::::::::::::::::::: *:
:::::::::::::::::::::::::::::::::* :
:::::::::::::::::::* :
::::::::::::::: * *:
.:::::::::::: * .:
:::::::::::. : :
:::::::::: : .:
:::::::::: :: .:
.:::::::: ::: :*
:::::::: ::: :
:::::::: :::: ::
::::::: ::::: *:
::::::: *::::::: ::
:::::::. ::::::::::: :::
:::::::::::::::::::::::* ::::
.::: :::::::::* .:::::*
: ::::::::::::::::::::::::::::::::::::
. .:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::
*::::::::::::::* -- ::20.571 INFO --- [ runner-] o.s.boot.SpringApplication : Starting application on zhaiyongchaodeMacBook-Pro.local with PID (started by zhaiyongchao in /Users/zhaiyongchao/Downloads)
-- ::20.574 INFO --- [ runner-] o.s.boot.SpringApplication : No active profile set, falling back to default profiles: default
-- ::20.732 INFO --- [ runner-] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3c3ad454: startup date [Wed Apr :: CST ]; root of context hierarchy
-- ::21.758 INFO --- [ runner-] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): (http)
-- ::21.783 INFO --- [ runner-] o.apache.catalina.core.StandardService : Starting service [Tomcat]
-- ::21.784 INFO --- [ runner-] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.
-- ::21.795 INFO --- [ost-startStop-] o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/zhaiyongchao/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
-- ::21.849 INFO --- [ost-startStop-] org.apache.catalina.loader.WebappLoader : Unknown loader org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader@5e3b901 class org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader
-- ::21.884 INFO --- [ost-startStop-] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
-- ::21.885 INFO --- [ost-startStop-] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in ms
-- ::22.042 INFO --- [ost-startStop-] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
-- ::22.049 INFO --- [ost-startStop-] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-04-04 18:11:22.049 INFO 70477 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-04-04 18:11:22.049 INFO 70477 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-04-04 18:11:22.049 INFO 70477 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2018-04-04 18:11:22.391 INFO 70477 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3c3ad454: startup date [Wed Apr 04 18:11:20 CST 2018]; root of context hierarchy
2018-04-04 18:11:22.489 INFO 70477 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String ThisWillActuallyRun.home()
2018-04-04 18:11:22.495 INFO 70477 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-04-04 18:11:22.496 INFO 70477 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-04-04 18:11:22.550 INFO 70477 --- [ runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-04 18:11:22.550 INFO 70477 --- [ runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-04 18:11:22.598 INFO 70477 --- [ runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
-- ::22.955 INFO --- [ runner-] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
-- ::23.004 INFO --- [ runner-] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): (http) with context path ''
-- ::23.010 INFO --- [ runner-] o.s.boot.SpringApplication
从日志中我们可以看到我们通过Groovy脚本定义的一个简单web应用就构建成功了,可以通过访问localhost:8080来验证一下上面应用提供的接口:
$ curl localhost:
Hello World!
可以在命令中附加spring配置参数,注意要多加一个--
$ spring run hello.groovy -- --server.port=
要设置JVM参数,可以使用JAVA_OPTS环境变量,比如:
$ JAVA_OPTS=-Xmx1024m spring run hello.groovy
初始化新项目
使用init命令可以创建一个新的项目。如:
$ spring init --dependencies=web,data-jpa my-project
这个命令会创建一个名为my-project的目录,在其中包含一个基于Maven的项目,并添加对于spring-boot-starter-web和spring-boot-starter-data-jpa的依赖。
你可以使用--list标记来显示所有可用的依赖。
$ spring init --list
运行spring help init可以查看具体的使用说明。
如下的命令会创建一个基于Gradle和java8的打包类型为war的项目。
$ spring init --build=gradle --java-version=1.8 --dependencies=websocket --packaging=war sample-app.zip
使用Spring Shell
Spring Boot CLI内置了一个shell,执行spring shell即可启动。这个shell支持ANSI彩色输出和tab键,如果要执行原生命令,在命令前加上!前缀即可。更多具体使用方法,可以在进入shell后输入help查看。
更多资料
可以在这里找到更多的groovy脚本例子,这里有Spring Build tool plugins相关的文档。
Spring Boot CLI——centos7的更多相关文章
- Spring Boot CLI安装
Spring Boot是一个命令行工具,用于使用Spring进行快速原型搭建.它允许你运行Groovy脚本,这意味着你可以使用类Java的语法,并且没有那么多的模板代码. 你没有必要为了使用Sprin ...
- 新手必看,Spring Boot CLI 必会必知
Spring Boot CLI 是什么 Spring Boot CLI 是 Spring Boot Commad Line 的缩写,是 Spring Boot 命令行工具.在 Spring Boot ...
- spring boot cli 知识点
spring boot cli 版本列表: https://repo.spring.io/snapshot/org/springframework/boot/spring-boot-cli/ spri ...
- OSX Homebrew 安装 Spring Boot CLI
OSX Homebrew 安装 Spring Boot CLI 如果您使用的是Mac并使用Homebrew,则可以使用以下命令安装Spring Boot CLI: $ brew tap pivotal ...
- Spring boot 官网学习笔记 - Spring Boot CLI 入门案例
安装CLI https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.1.1.RELEASE/spring-b ...
- Spring Boot Cli下载安装
本地下载地址: spring-boot-cli-2.1.8.RELEASE-bin.zip : https://pan.baidu.com/s/1GMyxj1PecsM4BG_hzoteVQ spr ...
- spring-boot学习 (Groovy与Spring Boot Cli)
一.使用idea创建一个spring-boot项目,选择groovy语言 二.编写相应代码 1.创建实例类 package com.zhi.example class Man { Long id St ...
- 【微框架】之一:从零开始,轻松搞定SpringCloud微框架系列--开山篇(spring boot 小demo)
Spring顶级框架有众多,那么接下的篇幅,我将重点讲解SpringCloud微框架的实现 Spring 顶级项目,包含众多,我们重点学习一下,SpringCloud项目以及SpringBoot项目 ...
- Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...
随机推荐
- python中 "is"和"=="的区别
python中"is"和"=="区别 在做leetcode的时候,在判断两个数据是否相等时使用了python中的is not,想着入乡随俗,既然入了python ...
- Maven简易笔记
Maven笔记 Maven笔记 Maven组成 安装配置 基本概念 Maven目录的典型结构 POM文件格式 GAV 依赖 依赖管理与父项目 关于父项目的一点主意事项 repository Maven ...
- 适用于在线服务的A/B测试方法论
适用于在线服务的A/B测试方法论 简介: 这篇文章旨在介绍适用于为在线服务进行A/B测试(A/B Test)的方法论.中文网络中目前还缺乏全面的入门级介绍. 我将首先讨论在线服务业进行A/B测试所考虑 ...
- python网络-HTTP协议(28)
一.服务器和客户端介绍 1.什么是服务器? 简而言之:提供服务的机器就是服务器,至于提供什么服务不重要,重要的是要给其他人提供服务.例如:FTP服务器可以提供文件下载,SMTP服务器等等,不同的服务器 ...
- 深度学习算法 之DCGAN(写得不系统,后期再总结,大家可简单阅览一下)
目录 1.基本介绍 2.模型 3.优缺点/其他 参考 1.基本介绍 DCGAN是生成对抗网络GAN中一种常见的模型结构.其中的生成器和判别器都是神经网络模型. GAN是一种生成式对抗网络,即通过对抗的 ...
- python 判断返回值是否是字典
背景: 小鱼最近再调一个小工程时,需要对返回值进行处理(返回值如下),有的返回值 有data1 有的没有:需要做个判断,判断是否含有该key值 返回值: res1 = {"result&qu ...
- workerman——消息推送(web-msg-send)
前言 说下场景,当后台将号码池的号码分配给指定客服的时候,需要给指定的客户推送一条消息告诉该客户,通讯录有新增数据. 步骤 下载 https://www.workerman.net/web-sende ...
- linux autofs自动挂载
autofs:自动挂载器 自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的NFS挂载 自动挂载器由autofs服务脚本管理 自动挂载器由auto.master配置文件进行配 ...
- Map的常用实现类及Entry的用法
public static void main(String[] args) { //map 键值对 json格式根据你的键名来获取对应的值 //特点 :无序.以键值对的形式添加元素,键不 ...
- 2019-2020-1 20199302《Linux内核原理与分析》第五周作业
一.用户态.内核态和中断 1.一般现代cpu都有几种不用的指令执行级别 2.在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态. 3.在相应的低级别执行状态下, ...