简介
Spring框架是 Java 平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于Java企业版平台构建的 Web 应用提供了大量的拓展支持。虽然 Spring 没有直接实现任何的编程模型,但它已经在 Java 社区中广为流行,基本上完全代替了企业级JavaBeans(EJB)模型。
Spring框架以 Apache License 2.0 开源许可协议的形式发布,该框架最初由 Rod Johnson 以及 Juergen Hoeller 等人开发。
Spring Framework已经成长为控制容器的反转,并且目前包括几个提供各种服务的模块,如面向方面的编程,数据访问,事务管理,模型 - 视图 - 控制器,身份验证和授权,消息传递,和测试。
Spring提供自动装配功能,通过它您可以简单地指定接口类型,Spring可以在运行时找到实际类型,前提是没有冲突。
Spring框架历史
-
Spring框架的第一个版本是由Rod Johnson和2002年的一本书编写的。
-
该框架于2003年6月首次在Apache许可版本2.0下发布。
-
Spring框架(1.0)的第一个里程碑版本于2004年3月发布。
-
2006年发布的Spring 2.0简化了XML配置文件。
-
2007年推出的Spring 2.5引入了注释配置。
-
Spring 3.2于2012年推出,引入了Java配置,支持Java 7,Hibernate 4,Servlet 3.0,并且还需要最低限度的Java 1.5。
-
2014年发布的Spring 4.0支持Java 8。
-
Spring Boot也于2014年推出。
-
Spring 5.0于2017年问世.Spring Boot 2.x支持Spring 5。
Design Philosophy
提供各个层面的选择。Spring允许您尽可能晚地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。许多其他基础架构问题以及与第三方API的集成也是如此。
适应不同的观点。Spring拥抱灵活性,并不认为应该如何做。它以不同的视角支持广泛的应用需求。
保持强大的向后兼容性。Spring的演变经过精心设计,可以在版本之间进行一些重大改变。Spring支持精心挑选的JDK版本和第三方库,以便于维护依赖于Spring的应用程序和库。
关心API设计。Spring团队花了很多心思和时间来制作直观的API,这些API在很多版本和多年中都有用。
为代码质量设定高标准。Spring Framework非常强调有意义的,最新的和准确的javadoc。它是极少数项目之一,可以声称干净的代码结构,包之间没有循环依赖。