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开箱即用思想的一种体现,这为我们创建微服务体系结构提供了强大的支持,同时对于快速开发一些原型,或者进行轻量级的测试,也是非常有作用的。