2.3 开发自己的Spring Boot项目
我们在创建项目时,不但引入了Spring Web,还引入了Thymeleaf。Thymeleaf是Spring Boot官方推荐的页面模板[2]。我们通过开发一个简单应用来体会Spring Boot开发的便捷。先在项目目录下的文件夹/resources/templates中创建一个文件test.html,其内容如代码清单2-2所示。
[2]Thymeleaf是Spring Boot官方推荐的页面模板,但是在企业开发中并未得到广泛应用,因此本书只简单介绍它。
代码清单2-2 Thymeleaf模板(/templates/test.html)
<!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所示。
代码清单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开发环境的搭建和基本开发。