Spring使创建Java企业应用程序变得容易。它提供了在企业环境中使用Java语言所需的一切,支持Groovy和Kotlin作为JVM上的替代语言,并根据应用程序的需要灵活地创建多种体系结构。

Spring支持广泛的应用场景。在大型企业中,应用程序通常存在很长时间,必须在JDK和应用服务器上运行,而JDK和应用程序服务器的升级周期超出了开发人员的控制范围。

Spring是开源的。它有一个庞大而活跃的社区,根据各种各样的真实世界用例提供持续的反馈。这帮助Spring在很长一段时间内不断发展。

我们所说的“Spring”是什么意思

“Spring”一词在不同的语境中意味着不同的事物。它可以用来指代Spring框架本身,它就是从这里开始的。随着时间的推移,其他Spring项目都是在Spring框架之上构建的。通常,当人们说“Spring”时,他们指的是整个项目家族。这个参考文档集中于基础:Spring框架本身。

Spring框架分为几个模块。应用程序可以选择所需的模块。核心模块是核心容器,包括配置模型和依赖注入机制。除此之外,Spring框架还为不同的应用程序架构提供了基础支持,包括消息传递、事务数据和持久性以及web。它还包括基于Servlet的springmvcweb框架和并行的springwebflux响应式web框架。

Spring的历史和Spring框架

Spring于2003年出现,作为对早期J2EE规范复杂性的一种响应。虽然有人认为javaee和Spring是竞争对手,但Spring实际上是对javaee的补充。

设计理念

当你了解一个框架时,不仅要知道它做什么,而且要知道它遵循什么原则。下面是Spring框架的指导原则:

  • 在各个层面提供选择。Spring允许您尽可能晚地推迟设计决策。例如,您可以在不更改代码的情况下通过配置切换持久性提供程序。对于许多其他基础设施问题以及与第三方api的集成也是如此。
  • 包容不同的观点。Spring具有灵活性,对事情应该如何做并不固执己见。它以不同的视角支持广泛的应用需求。
  • 保持强大的向后兼容性。Spring的演进经过了精心的管理,使得版本之间很少有突破性的变化。Spring支持一系列精心选择的JDK版本和第三方库,以便于维护依赖Spring的应用程序和库。
  • 关心API设计。Spring团队投入了大量的思想和时间来制作直观的api,这些api可以在很多版本和很多年内使用。
  • 为代码质量设定高标准。Spring框架非常强调有意义的、当前的和准确的javadoc。它是为数不多的能够声明干净的代码结构而包之间没有循环依赖关系的项目之一。