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.0.BUILD-20190222.193142-143-bin.tar.gz  -C  /home/maxzhao/
cd /home/maxzhao
mv spring-2.2.0.BUILD-SNAPSHOT  spring-2.2.0-cli
cd spring-2.2.0-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...............................................

                                *::::::::::::::*
                           ::::::::::::::::::::::::::
                        ::::::::::::::::::::::::::::::::       :.
                     *:::::::::::::::::::::::::::::::::::::   :*:
                   :::::::::::::::::::::::::::::::::::::::::::  *:
                 .::::::::::::::::::::::::::::::::::::::::::     :
                ::::::::::::::::::::::::::::::::::::::::::.      .:
               :::::::::::::::::::::::::::::::::::::::::          :
              ::::::::::::::::::::::::::::::::::::::              *:
             :::::::::::::::::::::::::::::::::*                    :
            :::::::::::::::::::*                                   :
            :::::::::::::::                                 *      *:
           .::::::::::::                                   *       .:
           :::::::::::.                                   :         :
           ::::::::::                                    :         .:
           ::::::::::                                  ::          .:
           .::::::::                                 :::           :*
            ::::::::                               :::             :
            ::::::::                            ::::              ::
             :::::::                         :::::               *:
              :::::::                   *:::::::                ::
               :::::::.          :::::::::::                  :::
                :::::::::::::::::::::::*                    ::::
                 .:::   :::::::::*                      .:::::*
                   :     ::::::::::::::::::::::::::::::::::::
                     . .:::::::::::::::::::::::::::::::::::
                        ::::::::::::::::::::::::::::::::
                           ::::::::::::::::::::::::::
                                *::::::::::::::*

2018-04-04 18:11:20.571  INFO 70477 --- [       runner-0] o.s.boot.SpringApplication               : Starting application on zhaiyongchaodeMacBook-Pro.local with PID 70477 (started by zhaiyongchao in /Users/zhaiyongchao/Downloads)
2018-04-04 18:11:20.574  INFO 70477 --- [       runner-0] o.s.boot.SpringApplication               : No active profile set, falling back to default profiles: default
2018-04-04 18:11:20.732  INFO 70477 --- [       runner-0] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.ser[email protected]3c3ad454: startup date [Wed Apr 04 18:11:20 CST 2018]; root of context hierarchy
2018-04-04 18:11:21.758  INFO 70477 --- [       runner-0] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2018-04-04 18:11:21.783  INFO 70477 --- [       runner-0] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-04-04 18:11:21.784  INFO 70477 --- [       runner-0] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.28
2018-04-04 18:11:21.795  INFO 70477 --- [ost-startStop-1] 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:.]
2018-04-04 18:11:21.849  INFO 70477 --- [ost-startStop-1] org.apache.catalina.loader.WebappLoader  : Unknown loader org.springframework.boot.cli.c[email protected]5e3b901 class org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader
2018-04-04 18:11:21.884  INFO 70477 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-04-04 18:11:21.885  INFO 70477 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1153 ms
2018-04-04 18:11:22.042  INFO 70477 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-04-04 18:11:22.049  INFO 70477 --- [ost-startStop-1] 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.ser[email protected]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]
2018-04-04 18:11:22.955  INFO 70477 --- [       runner-0] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-04-04 18:11:23.004  INFO 70477 --- [       runner-0] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ‘‘
2018-04-04 18:11:23.010  INFO 70477 --- [       runner-0] o.s.boot.SpringApplication

从日志中我们可以看到我们通过Groovy脚本定义的一个简单web应用就构建成功了,可以通过访问localhost:8080来验证一下上面应用提供的接口:

$ curl localhost:8080
Hello World!

可以在命令中附加spring配置参数,注意要多加一个--

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

要设置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-webspring-boot-starter-data-jpa的依赖。

你可以使用--list标记来显示所有可用的依赖。

$ spring init --list

运行spring help init可以查看具体的使用说明。

如下的命令会创建一个基于Gradlejava8的打包类型为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相关的文档。

原文地址:https://www.cnblogs.com/wpcnblog/p/11517543.html

时间: 2024-11-02 12:45:19

Spring Boot CLI——centos7的相关文章

新手必看,Spring Boot CLI 必会必知

Spring Boot CLI 是什么 Spring Boot CLI 是 Spring Boot Commad Line 的缩写,是 Spring Boot 命令行工具.在 Spring Boot CLI 可以跑 Groovy 脚本,通过简单的 Java 语法就可以快速而又简单的学习 Spring Boot 原型. Spring Boot CLI 安装 打开 Spring Boot CLI 下载页面,地址:https://repo.spring.io/milestone/org/springf

OSX Homebrew 安装 Spring Boot CLI

OSX Homebrew 安装 Spring Boot CLI 如果您使用的是Mac并使用Homebrew,则可以使用以下命令安装Spring Boot CLI: $ brew tap pivotal/tap $ brew install springboot Homebrew将spring安装到/usr/local/bin. [注意] 如果您没有看到公式,那么您的brew安装可能已过时.在这种情况下,运行brew update并再试一次. 原文地址:https://www.cnblogs.co

spring boot cli 知识点

spring boot cli 版本列表: https://repo.spring.io/snapshot/org/springframework/boot/spring-boot-cli/ spring boot cli 命令 说明 spring --version pring [--help] 命令介绍 spring help spring init --list 列出项目的信息 原文地址:https://www.cnblogs.com/cag2050/p/11143596.html

【Spring Boot 】2、Spring Boot CLI

1.配置Spring的环境变量在环境变量Path 添加: D:\Program Files\spring-boot-cli-1.5.8.RELEASE-bin\spring-1.5.8.RELEASE\bin CMD: spring --version java --version 2.使用Spring-Boot_CLI 命令创建项目spring init --build=maven --java-version=1.8 --dependencies=web --packaging=jar --

spring-boot学习 (Groovy与Spring Boot Cli)

一.使用idea创建一个spring-boot项目,选择groovy语言 二.编写相应代码 1.创建实例类 package com.zhi.example class Man { Long id String name String phone Man(Long id, String name, String phone) { this.id = id this.name = name this.phone = phone } } 2.创建service package com.zhi.exam

Spring Boot 官方文档入门及使用

个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念,请先移步上一篇文章 Spring Boot 学习.本篇原本是为了深入了解下Spring Boot而出现的. 另外,Spring Boot 仍然是基于Spring的,建议在赶完工之后深入学习下Spring,有兴趣可以看看我的 Spring 4 官方文档学习(十一)Web MVC 框架 .欢迎探讨,笑~

Spring Boot 基础

Spring Boot 基础 Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了学习成本,但显著降低了使用成本并提高了开发效率.如果没有Spring基础不建议直接上手. 1.基础项目 这里只关注基于Maven的项目构建,使用Spring Boot CLI命令行工具和Gradle构建方式请参考官网. (1)创建项目: 创建类型为quickstart的

Java Web系列:Spring Boot 基础 (转)

Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了学习成本,但显著降低了使用成本并提高了开发效率.如果没有Spring基础不建议直接上手. 1.基础项目 这里只关注基于Maven的项目构建,使用Spring Boot CLI命令行工具和Gradle构建方式请参考官网. (1)创建项目: 创建类型为quickstart的Maven项目,删除默认生成的

Spring Boot:简化Spring应用初始搭建以及开发过程(转)

Spring Boot专注于Spring平台和第三方开发库,简化了基于Spring的产品开发.让你在开始Spring应用开发时,不会被各种繁杂的事务困扰.通过Spring Boot,开发时只需少量的Spring配置就可以完成项目结构的初始搭建. 功能特性 创建独立的Spring应用程序. 直接嵌入Tomcat.Jetty和Undertow(无需部署WAR文件). 使用特定的POM文件,简化Maven配置. 尽可能自动化配置Spring. 提供产品级特性,比如指标测量.健康检查.外部配置等. 绝对