spring在不同的背景下意味着不同的东西。它可以用来引用Spring Framework项目本身,它就是一切开始的地方。随着时间的推移,其他Spring项目已经构建在Spring Framework之上。大多数情况下,当人们说“春天”时,他们就意味着整个项目家族。本参考文档侧重于基础:Spring Framework本身。
Spring框架分为几个模块。应用程序可以选择所需的模块。核心是核心容器的模块,包括配置模型和依赖注入机制。除此之外,Spring Framework还为不同的应用程序体系结构提供了基础支持,包括消息传递,事务数据和持久性以及Web。它还包括基于Servlet的Spring MVC Web框架,以及Spring WebFlux响应式Web框架。
关于模块的说明:Spring的框架jar允许部署到JDK 9的模块路径(“Jigsaw”)。为了在支持Jigsaw的应用程序中使用,Spring Framework 5 jar带有“Automatic-Module-Name”清单条目,它们定义了独立于jar工件的稳定语言级模块名称(“spring.core”,“spring.context”等)名称(罐子使用相同的命名模式,而不是“。”,例如“spring-core”和“spring-context”)。当然,Spring的框架jar在JDK 8和9+上的类路径上都能正常工作。
Spring Framework的指导原则:
-
提供各个层面的选择。Spring允许您尽可能晚地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。许多其他基础架构问题以及与第三方API的集成也是如此。
-
适应不同的观点。Spring拥抱灵活性,并不认为应该如何做。它以不同的视角支持广泛的应用需求。
-
保持强大的向后兼容性。Spring的演变经过精心设计,可以在版本之间进行一些重大改变。Spring支持精心挑选的JDK版本和第三方库,以便于维护依赖于Spring的应用程序和库。
-
关心API设计。Spring团队花了很多心思和时间来制作直观的API,这些API在很多版本和多年中都有用。
-
为代码质量设定高标准。Spring Framework非常强调有意义的,最新的和准确的javadoc。它是极少数项目之一,可以声称干净的代码结构,包之间没有循环依赖。