“Spring”一词在不同的上下文中意味着不同的事物。它可以用来指代 Spring 框架项目本身,这是所有这一切的开端。随着时间的推移,也有其他的 Spring 项目已经建立在 Spring 框架之上了。大多数情况下,当人们说“Spring”时,他们指的是整个项目系列。本参考文档侧重于基础:Spring 框架本身。

    Spring 框架按模块被划分。应用程序可以根据实际情况选择他们所需的模块。核心是核心容器的模块,包括配置模型和依赖注入机制。除此之外,Spring 框架还为不同的应用程序架构提供了基础支持,包括消息传递、事务数据和持久化以及 Web。它还包括基于 Servlet 的 Spring MVC Web 框架,并且与此同时,还包括基于 Spring WebFlux 的反应式 Web 框架。

    关于模块的说明:Spring 的框架 jar 包允许部署到 JDK 9 的模块路径(Jigsaw)。为了支持在 Jigsaw 的应用程序中使用,Spring 框架 5.x 版本的 jar 包中带有“自动模块名称”的清单条目,这些条目定义了稳定的语言级模块名称(如 spring.core、spring.context 等),它独立于 jar 包的工件名称(jar 包名遵循相同的命名模式,使用 “-“ 而不是 “.”,如 spring-core、spring-context 等)。当然,Spring 的框架 jar 包在 JDK 8 和 9+ 上的类路径上都是能正常工作的。