# 1. “Spring”代表什么

”Spring“这个词在不同的环境中代表不同的含义。最开始的时候，它指的是Spring框架项目本身，但是随着时间的推移，又发展了其他的Spring项目。所以当现在我们提起”Spring“的时候，它指的是整个Spring家族。 我们的这个Spring参考指南指的是一切Spring的基础：Spring Framework。

Spring Framework被分成了很多个模块，我们在构建应用程序的时候可以自由选择使用哪个模块。最核心的模块是核心容器包括配置模块和依赖注入机制。除此之外，Spring Framework提供了对不同应用架构的基础支持，包括消息，交易数据，存储和网站。他还包括了Servlet-based Spring MVC web framework和最新的响应式Spring WebFlux reactive web framework。

在使用模块上有一点需要注意：Spring Framework的jar包被允许部署到JDK9的模块路径（“Jigsaw”）。当Spring Framework 5被用在开启了Jigsaw的应用程序中时，Spring会开启一个叫做“自动模块名”的功能，并在其中定义了稳定的语言级模块名字，比如（"spring.core", "spring.context"等 ），他们和其所在的jar包名字是不一样的（jar包名字已“-”分割而不是“，”，如"spring-core" 和 "spring-context"）。当然Spring Framework的jar包可以在JDK8和JDK9+环境中正常运行。
