Spring Boot 【1】 开始你的第一个 Spring Boot 项目

序言

这大概会是写成一个很长的系列。将会使用 Spring Boot、Spring Data JPA、Spring Secutiry、 Thymeleaf、 Bootstrap 等制作一个包括支持数据库增删查改、用户注册登录等功能的完整网站。

这个系列开始于 2019年10月18日 ,尽可能使用当前新的版本的来讲解,所以将基于 Spring Boot 2.2.0。

使用 Spring Initializer 开始你的项目

使用最方便的 Spring Initializer 来初始化我们的项目,可以在这里使用:
https://start.spring.io

spring-initializer

上面就是 Spring Initializer 的界面。

选择好 Maven 项目、 Java 、Spring Boot 的版本号,此处选择 2.2.0 填写 Group 和 Artifact ,接下来就可以在下面添加依赖了。

这一篇只是最基础的部分,所以只需要添加 Spring Web 和 Spring Boot DevTools 两个依赖就可以了。输入名字即可搜索添加。

添加完成之后点击 Generate 就可以获得一个 zip 文件,里面就是项目文件了。

打开你的项目

解压下载下来的 zip 文件到你喜欢的目录下,在 IntelliJ IDEA 中打开这个项目。

接下来 IntelliJ IDEA 就会自动开始下载 Maven 的依赖,可能需要一段时间。

依赖下载完之后 IntelliJ IDEA 应该能识别出这个 Spring 项目,自动配置好了运行的设置。

这是此时项目的结构。

修改 Java 版本为 11

打开 pom.xml,查看里面的

<properties>
    <java.version>11</java.version>
</properties>

默认可能是 1.8,在这里把它修改成 11。

因为 Spring Data 之类常用到的 Optional 就要基于 Java 10 以上。

创建第一个页面

我们创建一个叫 Controller 的 package ,在里面创建一个 HomeController 类。

在类的前面加上一个 @Controller 的注解(Annotation),表明这是一个 Controller 控制器,Spring 会自动找到它。

除了 @Controller 以外,Spring MVC 还提供了 @RestController,使用 @RestController 可以把返回类型设为一个类,框架会调用 Jackson 来把类自动序列化成 json 格式返回。

@Controller
public class HomeController {
}

接下来我们添加一个 index 方法,代码如下

@GetMapping("/")
@ResponseBody
public String index() {
    return "Hello World";
}

@GetMapping 指示它将接管到 / 下面的 Get 请求,和 @RequestMapping(value = "/", method = RequestMethod.GET) 代表的意思是一样的。

@ResponseBody 代表它会将这个方法的返回值当作 HTTP 响应的内容返回给客户端。

我们运行一下这个程序,然后在浏览器中打开 http://localhost:8080/

可以看到 Hello World 可以正常显示出来了。

这个章节的内容到这里就结束了,下一章将会介绍 Thymeleaf 和 Spring Boot 结合的使用。