# 21.2.3　添加静态内容

正常来讲，在编写 Spring 应用时，我会尽量避免讨论样式和图片。当然，这些内容能够在很大程度上让各种应用（包括 Spring 应用）变得更加美观，令用户赏心悦目。但是，对于编写服务器端的 Spring 代码来说，这些静态内容就没有那么重要了。

但是，在 Spring Boot 中，有必要讨论一下它是如何处理静态内容的。当采用 Spring Boot 的 Web 自动配置来定义 Spring MVC bean 时，这些 bean 中会包含一个资源处理器（resource handler），它会将 “/\*\*” 映射到几个资源路径中。这些资源路径包括（相对于类路径的根）：

* /META-INF/resources/
* /resources/
* /static/
* /public/

在传统的基于 Maven/Gradle 构建的项目中，我们通常会将静态内容放在 “src/main/webapp” 目录下，这样在构建所生成的 WAR 文件里面，这些内容就会位于 WAR 文件的根目录下。如果使用 Spring Boot 构建 WAR 文件的话，这依然是可选的方案。但是，我们也可以将静态内容放在资源处理器所映射的上述四个路径下。

所以，为了满足 Thymeleaf 模板对 “/style.css” 文件的引用，我们需要创建一个名为 style.css 文件，并将其放到如下所示的某一个位置中：

* /META-INF/resources/style.css
* /resources/style.css
* /static/style.css
* /public/style.css

具体的选择完全取决于你，我倾向于将静态内容放到 “/public” 中，不过这四个可选方案是等价的。

尽管 style.css 文件的内容与讨论无关，但是如下这个简单的样式表能够让应用看上去更加整洁：

```css
body {
  backgroud-color: #eeeeee;
  font-family: sans-serif;
}

label {
  display: inline-block;
  width: 120px;
  text-align: right;
}
```

不管你是否相信，对于这个简单的 Contacts 应用来说，我们已经完成了超过一半的任务！Web 层全部完成了，接下来我们需要创建 ContactRepository，用来处理 Contact 对象的持久化。
