SpringBoot主要特性:
自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。
起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,
无需传统项目构建。
Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。
每一个特性都在通过自己的方式简化Spring应用程序的开发。
一、查看初始化的 Spring Boot 新项目
值得注意的第一件事是,整个项目结构遵循传统Maven或Gradle项目的布局,即主要
应用程序代码位于src/main/java目录里,资源都在src/main/resources目录里,测试代码则在
src/test/java目录里。此刻还没有测试资源,但如果有的话,要放在src/test/resources里。
再进一步,你会看到项目里还有不少文件。
build.gradle:Gradle构建说明文件。
ReadingListApplication.java:应用程序的启动引导类(bootstrap class),也是主要
的Spring配置类。
application.properties:用于配置应用程序和Spring Boot的属性。
ReadingListApplicationTests.java:一个基本的集成测试类。
因为构建说明文件里有很多Spring Boot的优点尚未揭秘,所以我打算把最好的留到最后,先
让我们来看看ReadingListApplication.java。
- 启动引导Spring
ReadingListApplication在Spring Boot应用程序里有两个作用:配置和启动引导。首先,
这是主要的Spring配置类。虽然Spring Boot的自动配置免除了很多Spring配置,但你还需要进行
少量配置来启用自动配置。
- 测试Spring Boot应用程序
Initializr还提供了一个测试类的骨架,可以基于它为你的应用程序编写测试。但
ReadingListApplicationTests(不止是个用于测试的占位符,它还是一个例子,告诉你如何为Spring Boot应用程序编写测试。
版本差异:
- 配置应用程序属性
Initializr为你生成的application.properties文件是一个空文件。实际上,这个文件完全是可选的,
你大可以删掉它,这不会对应用程序有任何影响,但留着也没什么问题。
稍后,我们肯定有机会向application.properties里添加几个条目。但现在,如果你想小试牛刀,
可以加一行看看:
server.port=8000
加上这一行,嵌入式Tomcat的监听端口就变成了8000,而不是默认的8080。你可以重新运行
应用程序,看看是不是这样。
这说明application.properties文件可以很方便地帮你细粒度地调整Spring Boot的自动配置。你
还可以用它来指定应用程序代码所需的配置项。 - 定义领域模型
我们应用程序里的核心领域概念是读者阅读列表上的书。因此我们需要定义一个实体类来表
示这个概念。
- 定义仓库接口
接下来,我们就要定义用于把Book对象持久化到数据库的仓库了。①因为用了Spring Data JPA,
所以我们要做的就是简单地定义一个接口,扩展一下Spring Data JPA的JpaRepository接口:
- 创建Web界面
现在,我们定义好了应用程序的领域模型,还有把领域对象持久化到数据库里的仓库接口,
剩下的就是创建Web前端了。代码中的Spring MVC控制器就能为应用程序处理HTTP请求。
7.呈现阅读列表的Thymeleaf模板
这个模板定义了一个HTML页面,该页面概念上分为两个部分:页面上方是读者的阅读列表
中的图书清单;下方是是一个表单,读者可以从这里添加新书。
为了美观,Thymeleaf模板引用了一个名为style.css的样式文件,该文件位于src/main/resources/
static目录中
注意:如果出现无法找到或是加载类错误,可以去.idea下workspace.xml文件中查看相关类名是否正确。