Spring Boot提供了命令行界面(Command Line Interface, CLI),可以用来运行和测试Spring Boot应用。Spring Boot及其CLI可以在Spring仓库中手动下载和安装,更简单的方式时通过Groovy环境管理器(Groovy enVironment Manager,GVM)。

基于CLI可以极速创建一个Web应用。接下来我们看看如何创建一个Spring MVC应用,以及如何支持在前端中使用Thymeleaf模板引擎和jQuery。我们将使用Groovy来创建项目,你会发现,一切简单得醉了!

安装Spring Boot CLI

CLI是Spring Boot自带的,首先我们要来安装Spring Boot。

安装有多种方式,我们可以先通过GVM来安装:

GVM安装之后( 注意这里要重启启动一个Terminal),Spring Boot的安装就非常简单了:

gvm install springboot

执行spring --version应该可以看到输出:

Spring CLI v1.2.5.RELEASE

如果使用Mac,也可以通过Homebrew来安装

brew tap pivotal/tap

brew install springboot

spring --version

OK,准备就绪,现在我们已经可以创建Spring应用啦!

创建应用

我们来创建一个最简单的应用吧!

在应用中我们定义一个Spring MVC控制器,控制器可以接受/greeting请求,返回一个简单的页面。

创建一个groovy文件:

app.groovy
@Grab("thymeleaf-spring4")
@Controller
class Application {
@RequestMapping("/greeting")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name)
return "greeting"
}
}

控制前将会渲染greeting.html模板并返回,接下来我们就来创建模板。

添加JavaScript库

我们希望给页面增加一个jQuery的动画。因此增加模板之前,我们先引入jQuery,最简单的进入方式就是添加一个Groovy的@Grab标注,这样应用就能自动的去加载引入的JS资源。

@Grab("org.webjars:jquery:2.0.3-1")

提示

Spring Boot使用webjars相关的知识这里不展开,大家自行学习

创建Web界面

现在可以创建Thymeleaf模板了,先建立一个模板目录:

mkdir templates // 这是Spring Boot默认的模板目录,目录下的文件能够被Spring Boot找到

模板文件如下

greeting.html
Getting Started: Spring Boot CLI + Javascript 
 
$(document).ready(function() {
$('p').animate({
fontSize: '48px'
}, "slow");
});

运行

应用加载的命令是:

spring run -cp . app.groovy

@Controller标注会告诉Spring Boot这是一个Spring MVC应用,因此会启动一个内嵌的Tomcat Servlet容器Spring Boot会自动从某些路径加载资源,比如会自动在/templates文件夹下去寻找Thymeleaf的模板

此时,一个最简单的Web应用已经被创建出来了,我们可以根据需要继续增加所需要的功能。

这个简单实例我们可以看到,Spring Boot CLI提供了一种非常快速的创建有后端服务的Web应用的方法,同时也支持添加JavaScript资源和HTML模板。我们同时也能缓存CSS资源. 基于CLI,我们无需创建项目文件,我们能最快的创建出一个Web应用,这正是Spring Boot开箱即用思想的一种体现,这为我们创建微服务体系结构提供了强大的支持,同时对于快速开发一些原型,或者进行轻量级的测试,也是非常有作用的。