Spring 是最受欢迎的企业级 Java 应用程序开发框架,它目前由大量提供一系列服务的模块组成,几乎成了 Java 后端的标准开发框架。
它最初是由 Rod Johnson 编写的,在《Expert One on-One: J2EE Design and Development》这本著作中进行了介绍,并且2003年6月首次在 Apache 2.0 许可下发布。Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。
Spring 简化 Java 开发
为了降低 Java 开发的复杂性,Spring 采取了以下4种关键策略:
- 基于 POJO 的轻量级和最小侵入性编程;
- 通过依赖注入和面向接口实现松耦合;
- 基于切面和惯例进行声明式编程;
- 通过切面和模板减少样板式代码。
几乎 Spring 所做的任何事情都可以追溯到上述的一条或多条策略。
Spring 历史
- 2017年9月,Spring 5.0 发布。Spring 5.0 最低要求支持 JDK8+,J2EE 7+,支持 servlet 4.0,Reactor 3.1,支持 Kotlin 函数式编程等。
- 2014年至2017年期间发布了许多 Spring 框架 4.xx 系列版本。
- 2013年12月,Pivotal 宣布发布 Spring 框架 4.0。Spring 4.0 是 Spring 框架的一大进步,它包含了对Java 8 的全面支持,更高的第三方库依赖性(groovy 1.8+,ehcache 2.1+,hibernate 3.6+等),Java EE 7 支持,groovy DSL for bean 定义,对 websockets 的支持以及对泛型类型的支持作为注入 bean 的限定符。
- 2013年4月,VMware 和 EMC 通过 GE 投资创建了一家名为 Pivotal 的合资企业。所有的 Spring 应用项目都转移到了 Pivotal。
- 2012年7月,Rod Johnson 离开了团队。
- 2011年和2012年发布了许多 3.x 系列的小版本。
- 2009年12月,Spring 3.0 发布。Spring 3.0 具有许多重要特性,如重组模块系统,支持 Spring 表达式语言,基于 Java 的 bean 配置(JavaConfig),支持嵌入式数据库(如 HSQL,H2 和 Derby),模型验证/ REST 支持和对 Java EE 的支持。
- 2009年8月,SpringSource 以 4.2 亿美元被 VMWare 收购。
- 2007年11月,在 Rod 领导下 Interface21 更名为 SpringSource。
- 2006年10月,Spring 2.0 发布,到那时 Spring 的下载量超过了100万。Spring 2.0 具有可扩展的 XML 配置功能,用于简化 XML 配置,支持 Java 5,额外的 IoC 容器扩展点,支持动态语言。
- 2004年8月,Rod Johnson,Juergen Hoeller,Keith Donald 和 Colin Sampaleanu 共同创立了一家专注于 Spring 咨询,培训和支持的公司 interface21。
- 2004年3月,Spring 1.0 版发布。实际上在 1.0 发布之前,Spring 就已经得到开发人员的广泛使用。
- 2003年6月,Spring 0.9 以 Apache 2.0 许可协议发布。
- 2002年10月,Rod Johnson 在《Expert One on-One: J2EE Design and Development》这本著作中指出了 Java EE 和 EJB 组件框架中的存在的一些主要缺陷,并提出了一个基于普通 Java 类和依赖注入的更简单的解决方案。