Spring系列-Spring介绍

本文回顾了Spring框架从2012年至现在的演变过程,强调了其从一个容器框架发展成为一个完整生态圈的变化,并分析了Spring的优点如模块化、更新快等,同时也指出了其存在的问题如排外性、继承性低及培训成本高等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老规矩

优点:模块化,更新快,开源,扩展性强,生态圈丰富

缺点:排外,太过灵活,继承性低,培训成本高


三大关键

Spring是什么:2014年之前我会说Spring是一个容器框架。现在Spring已经变成一个生态圈,它已经变成一个大家庭了。我也正在寻找Spring的新定义。

Spring能干什么:虽然现在Spring开发多了很多组件,但是我还是说。Spring是做web开发的中间件。

Spring怎么用:这个就不写这里了,后面开新的博客去整理。


历程:

2012年就在说ssh三大框架。那个时候struts2刚出,Spring 也没说要做mvc,持久化框架更是只有hibernate。ssh三大框架就这样叫出来了,Spring在这中间起什么作用呢?没错,粘合剂,我要用mvc,和对象持久化。那么把Spring加入就是非常好的选择,就因为集成方便。然后那个时候什么控制反转,依赖注入是很有好处。但是,仍然在争吵中度过的2012年,什么都是xml配置,什么都要配置非常多的人抵触,而且那个时候Spring是没办法热插拔的。所以Spring在那个时候根本没啥地位。

然后什么时候发生变化了呢,Spring mvc在2012年底突然异军突起,遍地开花,结合java的注解开发,直接风靡全球。直接亮瞎我的双眼,然后Spring的AOP实现的日志拦截。已经在稍微晚一点的权限主键。那个时候的Spring感觉突然地位变重要了,Spring3.0就是这个转变的标识。

2013年之后在看Spring,那些争吵的声音都慢慢平息下去了,反而Spring慢慢开始壮大,基本上每年一个样,变我都慢慢的不认识了。加入大数据啊,然后分布式的呀,太多太多。其实在2014年的时候,Spring还并没有到春天,哪个时候Spring3只是在慢慢发芽,我们公司就是用的Spring3。

Spring4貌似是在2014年的8月份出的,具体时间不太记得。然后Spring就慢慢变大了,加了各种控件的支持,但是都没有了解过了。

现在Spring已经不再是当年的粘合剂,他的作用已经无法替代。现在说Java web开发基本上都是Spring,可以没有Struts可以没有hibernate。基本上没有不用Spring的。

在移动开发上也是很多使用Spring的。但是有个面试官问我,如果不用Spring怎么开发。我觉得这个问题值得认真思考。


优缺点解释:

其实本来不太像解释,本来我是个Spring粉,优点说这么少已经很难为我了。说Spring好的网上一抓一大把,我就不说了。

缺点其实很明显,我就解释一下缺点。

排外:Spring说是生态圈,但是呢,我从没见过Spring的什么插件。相对说JQuery就好很多,很多插件可以用。Spring可以有很多插件,但是一般来说都是官方的,官方对于这一点做的并不是很好。只是在打造自己的生态圈,说起来就是做自己的帝国而已。你说Spring本来就是开源的,直接去官方提供插件就好?呵呵!

太过灵活:最开始SSH流行,我们技术总监分析了很多,其中有一点,就是框架对代码的规范性。大伙写出来的代码其实都差不多,相当于已经约定了怎么去做web开发。

而Spring在后面的版本中,对代码的规范性做的并不是很好,因为太灵活,所以你可以看到各种各样的代码。这样对于小公司而且又会多很多成本。

继承性低:谁能告诉我怎么把Spring2升级到Spring3呢?直接升级?抱歉Spring3需要的hibernate版本要更高哦!更不用说Spring3升级到Spring4了。这个其实也是没办法避免的。其实我试过了,如果只是用Spring,那么它是完全向下兼容的,我从Spring2.5.6直接一路升级到了Spring4.3.1,中间非常顺。如果你使用了Spring集成其他的框架,那么抱歉,你要改的东西还真不少。所以,这里的继承性低不是Spring引起的,其实和Spring关系并不大,更多的是一些集成性问题。

培训成本高:如果说我上面都是强词夺理的话,这个理由估计要被无数人喷。我是真想说,真的培训成本很高,因为它越来越大了。如果只是用Spring Framework那还好,如果使用了其他的,几乎培训成本刷刷往上涨。他的生态圈更新起来太快,你能完全保证使用一个版本就不更新了吗?每次升级架构师都需要花费很多时间去读他的更新日志,还需要很多测试。


以上只是我个人理解,我不是大神,能力有限,不喜随便喷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值