• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

Spring历史版本变迁和如今的生态帝国

技术杂谈 勤劳的小蚂蚁 4个月前 (12-29) 93次浏览 已收录 0个评论 扫描二维码

一、Spring历史版本变迁

1、Spring 1.x
大概在2004年3月24日这一天,Spring Framework 1.0 final正式出现在我们的视野中,源码项目结构如下:
引用依赖如下:
Spring 1.0当时只包含一个完整的项目,他把所有的功能都集中在一个项目中,其中包含了核心的Ioc、AOP,同时也包含了其他的诸多功能,例如:JDBC、Mail、ORM、事务、定时任务、Spring MVC等。
由于Spring超前的眼光和博大的精神,在第一个版本的时候已经支持了很多第三方的框架,例如:Hibernate、ibatis、模板引擎等。
尽管如此,此时的Spring除了最核心的Ioc和AOP之外,其他的模块犹如我们现在众多的开源项目一样,大多是对第三方框架的简单封装!我也相信很多个人或企业也基本都维护了一套类似这种的框架供项目开发使用。
此时的Spring还很懵懂,只支持基于XML的配置!关于更多关于Spring 1.0 的信息可以参考:
2、Spring 2.x
Spring 2.x的源码项目结构如下:
引用依赖如下:
通过上图中和1.0版本的对比,我们首先可以很直观的感受到Spring做了哪些改变。
Spring 2.x增加对注解的支持,支持了基于注解的配置。
3、Spring 3.x
Spring在GitHub托管的代码,最早的版本只能看到Spring v3.1.0.M2(https://github.com/spring-projects/spring-framework),源码结构如下:
Spring 3.x支持了基于Java类的配置。
4、Spring 4.x
(1)Spring 4.x新特性:
Spring 4.x全面支持Java 8.0,支持Lambda表达式的使用,提供了对@Scheduled和@PropertySource重复注解的支持,提供了空指针终结者Optional,对核心容器进行增加:支持泛型的依赖注入、Map的依赖注入、Lazy延迟依赖的注入、List注入、Condition条件注解注入、对CGLib动态代理类进行了增强。
Spring 4.x还支持了基于Groovy DSL的配置,提高Bean配置的灵活性。
Spring 4.x开始,Spring MVC基于Servlet 3.0 开发,并且为了方便Restful开发,引入了新的RestController注解器注解,同时还增加了一个AsyncRestTemplate支持Rest客户端的异步无阻塞请求。
(2)简单的思维导图如下:
5、Spring 5.x
Spring 5.x主要新特性:
6、小结
Spring 1.x、Spring 2.x、Spring 3.x由于版本比较久,而我从开始就是从Spring 4.0 开始用的,所以更多关于以前版本的信息这里解释的不是很全,上述的源码截图只是作为一种直观地感受,希望能感受到Spring版本的变迁过程。

二、Spring如今的生态帝国

Spring从最初的一城一池,发展到如今已经发展为一个生态帝国,旗下拥有诸多的子项目,从最基本的Spring Ioc/AOP使用,到安全管理,再到大数据,Spring已经逐渐的渗入到各个领域。目前,几乎所有JavaWeb相关的开发都可以在Spring中找到合适的方案,为了在开发的时候,防止重造轮子,下边梳理一下Spring的各个子项目,做到心中有数:
参考文章:
1、《精通Spring 4.x企业应用开发实战》


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:Spring历史版本变迁和如今的生态帝国
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00