Spring技术发展及框架设计
1、Spring技术发展
2002年10月,Rod Johnson 撰写了一本名为Expert One-on-One J2EE 设计和开发的数据。Rod,Juergen和Yann于2003年2月左右开始合作开发Spring项目. 自2004年1.0版本发布以来,Spring 框架迅速发展。 Spring 2.0于2006年10月发布,到那时,Spring的下载量超过了100万. 在Rod领导下管理Interface21项目于2007年11月更名为SpringSource。同时发布了Spring 2.5。 Spring 2.5中的主要新功能包括支持Java6/JavaEE5,支持注解配置,classpath中的组件自动检测和兼容OSGi的bundle。 2007年,SpringSource 从基准资本获得了A轮融资(1000万美元)。 2009年8月,SpringSource以4.2亿美元被VMWare收购。 2009年12月,Spring 3.0发布。 2012年7月,Rod Johnson离开了团队。 2013 年 4月,VMware 和 EMC 通过 GE 投资创建了一家名为 Pivotal 的合资企业。所有的 Spring 应用项目都转移到了 Pivotal。 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 的限定符。 2014 年至 2017 年期间发布了许多 Spring 框架 4.xx 系列版本。 Spring 5.0 GA版本于2017年9月28日发布。 Spring 5.0 开始支持JDK 8和Java EE 7,同时兼容JDK9。 全面支持Servlet 3.1,还引入了一个全新的模块Spring WebFlux。 用于替代老话的 spring-webmvc;对Kotlin也有了更好的支持。
Pivotal 公司成立之后,于 2014 年发布了 Spring Boot,2015 年发布了 Spring Cloud,2018 年 Pivotal 公司在纽约上市。公司的开源产品有:Spring 以及 Spring 衍生产品、Web 服务器 Tomcat、 缓存中间件 Redis、消息中间件 RabbitMQ、平台即服务的 Cloud Foundry、Greenplum 数据引擎、 GemFire(12306 系统解决方案组件之一)。
2、Spring框架设计
框架是基于一组类库或工具,在特定领域里根据一定的规则组合成的、开放性的骨架。 框架具有如下特性: a)支撑性+扩展性:框架不解决具体的业务功能问题,我们可以在框架的基础上添加各种 具体的业务功能、定制特性,从而形成具体的业务应用系统。 b)聚合性+约束性:框架是多种技术点的按照一定规则的聚合体。我们采用了某种框架也 就意味着做出了技术选型的取舍。在很多种可能的技术组合里确定了一种具体的实现方式 ,后续的其他工作都会从这些技术出发,也需要遵循这些规则,所以框架本身影响到研发 过程里的方方面面。 Spring framework 6大模块 4个常用模块
-
Core:Bean/Context/AOP -
Testing:Mock/TestContext -
DataAccess: Tx/JDBC/ORM -
Spring MVC/WebFlux: web -
Integration: remoting/JMS/WS -
Languages: Kotlin/Groovy Spring框架设计
|