我们在创建项目时,不但引入了Spring Web,还引入了Thymeleaf。Thymeleaf是Spring Boot官方推荐的页面模板
。我们通过开发一个简单应用来体会Spring Boot开发的便捷。先在项目目录下的文件夹/resources/templates中创建一个文件test.html,其内容如代码清单2-2所示。
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>测试Thymeleaf模板</title> </head> <body> <!-- “th:text”表示获取请求属性的值来渲染页面 --> <span th:text="${name}" /> ,欢迎学习Spring Boot! </body> </html>
注意,对于代码中的<span>元素,它的属性写作th:text,表示获取请求属性(名称为name)来渲染页面,因此我们需要在HTTP请求中设置名称为name的属性。为此,修改Spring Boot的启动类Chapter2Application,如代码清单2-3所示。
package com.learn.chapter2.main; /**** imports ****/ @SpringBootApplication // 声明为控制器 @Controller public class Chapter2Application { public static void main(String[] args) { SpringApplication.run(Chapter2Application.class, args); } // 请求路径 @GetMapping("/test") public String test(HttpServletRequest request) { // 设置请求属性 request.setAttribute("name", "张三"); // 返回“test”,这样会映射到Thymeleaf模板(test.html)上,就可以渲染页面了 return "test"; } }
注意,代码清单2-3中的注解@SpringBootApplication标志着这是一个Spring Boot入口文件。类Chapter2Application上标注了@Controller,这样这个类就是一个控制器了。接着开发test()方法,并且用@GetMapping设置路由为/test,这样test()方法就是我们的核心方法了,它首先使用HttpServletRequest对象设置名称为name的属性,然后返回字符串“test”,这与模板文件test.html的名称一致,这样Spring MVC就能找到模板,将请求属性渲染到页面上。
接下来我们以Java Application的形式运行类Chapter2Application,可以看到Tomcat服务器的运行日志。由于在2.2节中我们已经把端口修改为8090,因此打开浏览器后输入http://localhost:8090/test就可以看到运行的结果,如图2-10所示。
图2-10 测试Spring Boot的运行
至此,我们就完成了Spring Boot开发环境的搭建和基本开发。