Spring Framework是一个开源Java应用程序框架,最初是基于依赖注入(DI)和控制反转(IoC)的原理开发的。java
Spring Framework已经成长为控制容器的反转,而且目前包括几个提供各类服务的模块,如面向方面的编程,数据访问,事务管理,模型 - 视图 - 控制器,身份验证和受权,消息传递,和测试。编程
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。它是极少数项目之一,能够声称干净的代码结构,包之间没有循环依赖。