1.3.6 回顾
回想一下是如何走到这一步的。简而言之,以下是构建基于 Spring 的 Taco Cloud 应用程序的步骤:
- 使用 Spring Initializr 创建了一个初始项目结构。
- 写了一个控制器类来处理主页请求。
- 定义了一个视图模板来呈现主页。
- 写了一个简单的测试类来检验上述工作。
看起来很简单,不是吗?除了启动项目的第一步之外,所采取的每一个行动都是为了实现创建主页的目标。
事实上,编写的几乎每一行代码都是针对这个目标的。不计算 Java import
语句,只计算控制器类中的两行代码,而视图模板中没有 Spring 的特定代码。尽管测试类的大部分都使用了 Spring 的测试支持,但是在测试上下文中,它的侵入性似乎要小一些。
这是使用 Spring 开发的一个重要好处。可以关注于满足应用程序需求的代码,而不是满足框架的需求。尽管确实需要不时地编写一些特定于框架的代码,但这通常只是代码库的一小部分。如前所述,Spring (通过 Spring Boot)可以被认为是 无框架的框架。
这到底是怎么回事?Spring 在幕后做了什么来确保您的应用程序需求得到满足?为了理解 Spring 在做什么,让我们从构建规范开始。
在 pom.xml 文件中,声明了对 Web 和 Thymeleaf 启动器的依赖。这两个依赖关系带来了一些其他的依赖关系,包括:
- Spring MVC 框架
- 嵌入式 Tomcat
- Thymeleaf 和 Thymeleaf 布局方言
它还带来了 Spring Boot 的自动配置库。当应用程序启动时,Spring Boot 自动配置自动检测这些库并自动执行:
- 在 Spring 应用程序上下文中配置 bean 以启用 Spring MVC
- 将嵌入式 Tomcat 服务器配置在 Spring 应用程序上下文中
- 为使用 Thymeleaf 模板呈现 Spring MV C视图,配置了一个 Thymeleaf 视图解析器
简而言之,自动配置完成了所有繁重的工作,让您专注于编写实现应用程序功能的代码。如果您问我这样好不好,我会说这是一个很好的安排!
您的 Spring 之旅才刚刚开始。Taco Cloud 应用程序只涉及 Spring 提供的一小部分内容。在您开始下一步之前,让我们来俯瞰 Spring 的风景线,看看您在旅途中会遇到什么地标。