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+环境中正常运行。