欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot CLI使用教程

程序员文章站 2024-02-22 20:14:10
spring boot cli是spring boot项目提供的一个用于快速运行spring boot应用的命令行工具,通过结合groovy,可以实现一个文件的web应用,...

spring boot cli是spring boot项目提供的一个用于快速运行spring boot应用的命令行工具,通过结合groovy,可以实现一个文件的web应用,用于快速实验原型是最好不过的了。

安装

手动安装:

下载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'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。