论坛首页 入门技术论坛

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

浏览 24031 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-01-08  
jackyandsully 写道
gdpglc 写道
我一直用eclipse,intellij idea要好用一些?

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

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

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




同意楼上
我也一直喜欢 Eclipse  intellij idea 不好用 感觉,
如果东西简单 分层 明确 确实没必要用
框架都是写死的,如果什么都明确 自然自己写也挺好

elipse版本太低了。好像3.5以后的CTRL点的时候会提示进去接口还是实现类
0 请登录后投票
   发表时间:2011-01-08  
当Rod提出J2EE without EJB的时候,事实上就已经给J2EE without spring做好了铺垫。因为他还是无法逃离J2EE的魔爪。
J2EE是什么?他是一个平台,一套规范,用来解决“复杂”的企业应用问题,它的最终体现就是App Server。对象是什么?企业应用开发人员。

想做一个又大又全又简单易用的东西,自然有人会说,我为什么要为不需要的功能买单?我想更换其中的某一部分怎么办?

让我们总结一下抽象的层次:
核心库抽象了系统调用
框架和中间件平台抽象了基础API使用模式
各种所谓应用开发平台抽象了开发模式和业务场景模式

每一层抽象,都有规范限制,都加大了约束,最后程序员的能力和活动范围越来越小。而且对于应用开发来说:
1 做同样的事情,不管需不需要,永远要背起容器这个包袱;
2 很多事情只能绕着圈子来做。

对于真的关心解耦,Ioc的人,google-guice也许是更好的选择。
0 请登录后投票
   发表时间:2011-01-08   最后修改:2011-01-08
yangyi 写道
当Rod提出J2EE without EJB的时候,事实上就已经给J2EE without spring做好了铺垫。因为他还是无法逃离J2EE的魔爪。
J2EE是什么?他是一个平台,一套规范,用来解决“复杂”的企业应用问题,它的最终体现就是App Server。对象是什么?企业应用开发人员。

想做一个又大又全又简单易用的东西,自然有人会说,我为什么要为不需要的功能买单?我想更换其中的某一部分怎么办?

让我们总结一下抽象的层次:
核心库抽象了系统调用
框架和中间件平台抽象了基础API使用模式
各种所谓应用开发平台抽象了开发模式和业务场景模式

每一层抽象,都有规范限制,都加大了约束,最后程序员的能力和活动范围越来越小。而且对于应用开发来说:
1 做同样的事情,不管需不需要,永远要背起容器这个包袱;
2 很多事情只能绕着圈子来做。

对于真的关心解耦,Ioc的人,google-guice也许是更好的选择。


1.j2ee 的最终体现是 app server? tomcat 算吗?

2.抽象层次没太明白
核心库,spring的核心库是吗? 系统调用指什么?
框架理解, 中间件平台指什么?
应用开发平台指什么?

3.你最后的结论好象是,Spring给开发人员加上了约束,增加了负坦,有些事要间接实现是吗?
0 请登录后投票
   发表时间:2011-01-08   最后修改:2011-01-08
楼主,你看你刚入行,但是你很好学,有个好mentor带你你会进步很快的。
你这些疑问其实都不是什么大事,而且最重要的是你的疑问其实没有必要:spring是一个融合剂,没有了springstruts和hibernate的使用都要难一点----实例管理,事务边界。

使用spring你应该在绝大多数时候感觉不到你在使用它,否则,你一定是用错了。
比如你为了使用spring写了大量的xml来配置它和struts以及hibernate一起工作,那就是典型的失败的做法。
0 请登录后投票
   发表时间:2011-01-08  
javarubypython 写道
spring现在越来越庞大了。

其实现在ejb也挺好用的,ejb3.1现在连业务接口都可以免去了,直接用pojo作为bean


这个论调有点奇怪,你可以用10M附近的jetty或者tomcat等web容器跑spring项目,但是你用ejb必须得100M(jboss等)的app容器,甚至于几百M上G的商业容器。

spring也不过2-3M,如果你适当剪裁可能才总共1.5M左右,不知道哪里看出来庞大了。而且spring也一直都支持pojo的,非要写个接口,如果是按部就班的话只能说是思维僵化。
0 请登录后投票
   发表时间:2011-01-08  
flashing 写道
楼主,你看你刚入行,但是你很好学,有个好mentor带你你会进步很快的。
你这些疑问其实都不是什么大事,而且最重要的是你的疑问其实没有必要:spring是一个融合剂,没有了springstruts和hibernate的使用都要难一点----实例管理,事务边界。

使用spring你应该在绝大多数时候感觉不到你在使用它,否则,你一定是用错了。


多谢夸奖。

你的意思是:
如果 Service和Dao都搭好了,我要做的就是在Service和Dao里加方法和写逻缉,这个过程对程序员来说,基本上是感觉不到Spring的是吧?我想得知道,Spring提供的功能支持吧,和代码的常规形式吧。

而结构上的改动,比如加一个新的Dao,这时才会涉及到Spring的相关配置是吗?
0 请登录后投票
   发表时间:2011-01-08   最后修改:2011-01-08
gdpglc 写道
yangyi 写道
当Rod提出J2EE without EJB的时候,事实上就已经给J2EE without spring做好了铺垫。因为他还是无法逃离J2EE的魔爪。
J2EE是什么?他是一个平台,一套规范,用来解决“复杂”的企业应用问题,它的最终体现就是App Server。对象是什么?企业应用开发人员。

想做一个又大又全又简单易用的东西,自然有人会说,我为什么要为不需要的功能买单?我想更换其中的某一部分怎么办?

让我们总结一下抽象的层次:
核心库抽象了系统调用
框架和中间件平台抽象了基础API使用模式
各种所谓应用开发平台抽象了开发模式和业务场景模式

每一层抽象,都有规范限制,都加大了约束,最后程序员的能力和活动范围越来越小。而且对于应用开发来说:
1 做同样的事情,不管需不需要,永远要背起容器这个包袱;
2 很多事情只能绕着圈子来做。

对于真的关心解耦,Ioc的人,google-guice也许是更好的选择。


1.j2ee 的最终体现是 app server? tomcat 算吗?




JAVA EE最终实现是整个JAVA平台能给你提供的功能和你所做的事情,你要做企业级应用,OK,所有要求满足你。如果你要做个3D版本的魔兽世界,OK,它不满足你的需求,因为它不提供牛X的画质,GPU的优化,等等。


0 请登录后投票
   发表时间:2011-01-08  
gdpglc 写道
spring也好ejb也好。 看来都是容器,到底要给开发者带来什么? 不用这个容器,开发者会多付出什么? 这是我的疑惑。
大家回贴通常只是关注一些局部问题。有没有人想Spring或ejb道底会为你的团队带来什么呢?


光写个程序,做个程序员老实的去编代码,不用你去理解容易要干什么,容器到底是个什么。做了项目经理更不要懂,架构师也不用懂。你要做科学家吗?如果你要搞科学研究,那么这个必须懂,多花点时间看看优质的代码怎么去写,讨论这些天马行空的东西简直就是浪费你的时间和精力,不如开个QQ去泡妞,妞妞还能陪你玩玩。
0 请登录后投票
   发表时间:2011-01-08  
gdpglc 写道
treblesoftware 写道
麦蒂粉丝 写道
gdpglc 写道
感觉不用接口也是可以写出低藕荷的程序的,interface只是形式化的接口表达和较强的隔离技术,实际上大部份情况下是用不着这么强的隔离级别的。

我跟LZ有同感,感觉接口多的惊人。不过接口还是有其好处的咯,在struts2中体现的稍微明显一点。struts1就不怎么样了!


分开逻辑耦合与物理耦合的区别,我以前就说过,SPRING像个标准插头,物理上解耦,并非你写几个INTERFACE那么简单。在对象与对象引用的时候,很容易出现空指针,不管你是什么设计模式,都无法解决逻辑上的耦合,只是换个方式。但是SPRING确让这个改变了。JAVA WEB的老问题,SPRING并没有解决,内存泄漏就是其中之一。不要简单的去看待一个框架的功能,5,6年前就在说IOC了吧?这帖子没有讨论必要了。新手帖!


东拉西扯的,你倒底要说啥呀!
先说藕荷,还没看明白呢。后边又说上空指针了。你的意思思是Spring就是让软件不会出现NullPointer是吧? 最后又说内存泄露了。

还是希望你能说说Spring有什么好处(用你那复杂的看待方式)...


自己不能理解,还说我说的有问题,你连SPRING思想的本质IOC都不知道是个什么,就在这里鬼叫,你有虚心去接受和研究别人对你说过的话么?能力不能,自然理解也不同,当初我在大一的时候跟你的疑问几乎也一样,我用了2年时间去摸索软件设计思想和先进方法,通过自己大量项目实践,使用不同类型的框架,研究它们之后才得出了一些结论,你以为你在这边问问就能真正理解IOC的真谛了?没有一口吃成的胖子,在软件这个需要很大悟性和实践的工程类科学面前更不可能。你拽什么拽?人家好心来回答你,你还这么拽。
0 请登录后投票
   发表时间:2011-01-08  
我仅对事而已。即然在讨论问题,你回个贴,难到我不能反对?

你的心得可能很有用。可是致少你没让我看懂,你想说舍呀。

你说这是我水平不行,可是反过来,有没有可能你表达不当呢?

如果你带十个人工作。你说的话,别人都听不懂。你是怪那十个人呢?还是怪你自已呢?
0 请登录后投票
论坛首页 入门技术版

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