论坛首页 入门技术论坛

这两天学了一下Spring,讨论一下它的好处

浏览 23480 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-01-07   最后修改:2011-08-18
我看Spring提供了两样东西:
1. IOC
2. AOP及Spring提供的一些辅助功能

这两样东西,有没有用我想做一下这样的对比应该能看出来:

不用Spring时,你强烈的感到需要IOC和AOP了吗?

打个比方:jdk如果没有文件的I/O库,这个影响是明显的。

可是程序不用Spring的影响是什么呢?

IOC使程序达到了解藕的目的。

第一、
软件解藕,是软件设计的根本原则,在没有Spring的情况下,做好解藕靠的是设计人员的水平。但是,j2se和其它需要的库,所提供的表达能力,离优雅的代码离的很远,从一究二白到优雅的代码,通常不是一个项目设计能做好的。所以,实际上没有框架的辅助,代码是难以写好的。

有了Spring,提供了现成的软件结构,和程序运行时的各种服务,使得写出良好的代码,成为可能。

第二、IOC,对做单元测试有很大好处,因为可以使用Mock的方式进行测试,但是真有哪个团队会写大量的Mock对象进行测试吗?


   发表时间:2011-01-07   最后修改:2011-01-07
这个好处恰好和Spring整体上带来的烦锁的接口定义和配置相抵了。
----
我倒觉得用注解后,配置挺方便的,并不烦锁。我是一个接口论者。

结论:
Spring会给软件带来好处,也带来坏处。总体上,好处>坏处。团队新手越多的话,好处越明显。
-------------
我用那么多年,倒没感觉到有什么特别的坏处。我觉得spring给了我们一个集成的环境(事务、异常、调度之类),简化了我们的开发,并有一个优秀的规范使用,大家都有一个标准学习(新手进来后也好上手)。

不用Spring一样可以写出优秀的软件。
-------------------
这个和spring的好处没什么关系吧?没有人说过不用spring,就写坏的软件。
0 请登录后投票
   发表时间:2011-01-07  
你不是说工作8年了啊, 怎么才开始看spring, 很是神奇啊。

不敢同意你以上的看法。

with spring without ejb~~

0 请登录后投票
   发表时间:2011-01-07   最后修改:2011-01-07
我的确没正式用过,而且现在也是闲来无事看看,现在也不用它。文中只是我粗浅的认识。
0 请登录后投票
   发表时间:2011-01-07  
IOC/AOP 仅仅是手段而已。

而spring带给我们的是一套全新的, 超越ejb的解决方案。 这是和ejb自然竞争的结果。

如今的spring已经开始没落,无论性能, 还是核心代码维护都明显的逊色了。 spring社区太想把自己做成大象咯。
0 请登录后投票
   发表时间:2011-01-07  
gdpglc 写道
我看Spring提供了两样东西:
IOC使程序达到了彻底解藕,我的意思是调用者完全不知道调用的是谁。我想的确能带来解藕的效果,但是代价是产生很多接口和对应的配置。我看Spring代码,很不爽的是:想看一个被调方法的代码,用ctr+鼠标左键,找到的却是接口。


你的IDE太差了,用下intellij idea, 试试看。



gdpglc 写道
我看Spring提供了两样东西:
这个好处恰好和Spring整体上带来的烦锁的接口定义和配置相抵了。


要解耦靠接口,用不用spring都一样,这不是spring的问题。


gdpglc 写道
我看Spring提供了两样东西:
第二、做到了IOC似乎,对做单元测试有很大好处,因为可以使用Mock的方式进行测试,但是真有哪个团队会写大量的Mock对象进行测试吗?


你说对了,一些大型的,或要求比较高的公司,这方面还真是这样。
0 请登录后投票
   发表时间:2011-01-07   最后修改:2011-01-07
我一直用eclipse,intellij idea要好用一些?

感觉不用接口也是可以写出低藕荷的程序的,interface只是形式化的接口表达和较强的隔离技术,实际上大部份情况下是用不着这么强的隔离级别的。

比如,Dao做成单粒,直接在Service中使用,也是很简单有效的。

而用Spring使用interface和配置文件是必须的,这样一比较,Spring就使解藕变烦锁了。
0 请登录后投票
   发表时间:2011-01-07  
gdpglc 写道
我一直用eclipse,intellij idea要好用一些?

感觉不用接口也是可以写出低藕荷的程序的,interface只是形式化的接口表达和较强的隔离技术,实际上大部份情况下是用不着这么强的隔离级别的。

比如,Dao做成单粒,直接在Service中使用,也是很简单有效的。

而用Spring使用interface和配置文件是必须的,这样一比较,Spring就使解藕变烦锁了。




同意楼上
我也一直喜欢 Eclipse  intellij idea 不好用 感觉,
如果东西简单 分层 明确 确实没必要用
框架都是写死的,如果什么都明确 自然自己写也挺好
0 请登录后投票
   发表时间:2011-01-07  
spring现在越来越庞大了。

其实现在ejb也挺好用的,ejb3.1现在连业务接口都可以免去了,直接用pojo作为bean
0 请登录后投票
   发表时间:2011-01-07  
没用过ejb,具说ejb2.0失败了。似乎用ejb就要买个很贵的服务器。这样项目成本就上来了...
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics