概述
Spring Boot 是简化 Spring 应用开发的一个框架块,它整合了 Spring 的整个技术栈,提供了 J2EE 开发一站式解决方案。
它的目标是让你无需手动进行繁杂的配置或者只需要用到很少的配置就可以快速将你的项目运行起来。
在另一篇博文 Spring Boot2 实战系列之RESTful Web Service 中我们构建了一个 restful 风格的项目,并用 postman 来围绕 HTTP 动词 GET,POST,PUT,DELETE 对员工信息展开 CURD 操作。那么在实际项目中,如果我们想调用别人提供的 resultful api 来请求网络资源应该怎样做呢,很多人会想到用 httpclient,但是使用 httpclient 代码比较复杂,冗余代码多,相比之下,Spring 框架提供的 RestTemplate 类可用于在应用中调用 REST 服务, 它提供了许多比较简便的访问远程 HTTP 服务的方法,从而提高了客户端的开发效率。
RestTemplate 类是为调用REST服务而设计的,它的主要方法与 HTTP 协议方法紧密相连, 比如它有 headForHeaders()、getForObject()、postForObject()、put()和delete()等方法。
下面通过一个页面操作例子来演示 RestTemplate 的使用。
注意:在启动该项目前,先启动另一篇博文中构建的 RESTful service 项目。
Thymeleaf 是一个 xml, xhtml,html5 的模板引擎,Spring Boot 官方推荐使用 Thymeleaf 引擎,因为它对 Spring MVC 提供了完美的支持。我们知道以前的 Spring MVC web应用在视图层常使用 JSP,但 springboot 使用的是内嵌的 servlet 容器,而内嵌的 Tomcat 和 Jetty 不支持以 jar 形式运行 JPS,Undertow也不支持 JPS,所以在SpringBoot 中我们完全可以使用 Thymeleaf来代替 JSP。
在 Spring Boot 中使用 Thymeleaf 非常方便,它已经通过 org.springframework.boot.autoconfigure.thymeleaf 包对 Thymeleaf 进行了自动配置, 如下图所示
在网站里我们常常会看到可以分页的列表,这次我们就通过 springboot + thymeleaf + pagehelper 来实现这一功能。PageHelper 是开源的 MyBatis 分页插件, 支持任何复杂的单表、多表分页,详细使用方法可查看官方文档 https://pagehelper.github.io/docs/howtouse/
下面通过一个展示商品信息的页面来演示怎样使用 pagehelper