该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-09-12
俺也不喜欢XXXTemplate,调用方式太不好看了,所以宁可自己写一套类来封装sqlException的处理.
如果用jdbc的话,我是这样写: DBHunter ahunter = new DBHunter(数据库连接, "表名");; ahunter.addShowField(字段列表);; ahunter.goHunter();; newsitem = (NewsItem); ahunter.load2Item(NewsItem.class, true);; 我觉得这样写才舒服 ,呵呵 |
|
返回顶楼 | |
发表时间:2005-09-16
EJB 3.0 offers a very limited form of Dependency Injection, which has different goals, and does not approach the capabilities of Spring or other leading IoC containers. For example, it can inject dependencies only on objects that come from JNDI; it cannot manage objects that are too fine- grained to be placed in JNDI; it cannot easily manage configuration properties such as ints and Strings, which are very important to externalizing configuration from code; and it cannot manage lists, maps, or other complex types that the Spring IoC container can handle
Charlesxp 写道 引用 这个消息对于spring来说是一个重大的消息,重量级人物的加盟让Spring显得前途更加光明,并且Java世界主流的AOP框架统一起来也指日可待了。
EJB3和Spring有相互重叠的地方。而EJB3规范定义的injection也更将decent。 在business object中定义一个EntityManager, business Object可以是一个session bean, msg driven bean,或者就是一个java bean. 引用 @PersistenceContext(unitName="order") EntityManager em; 然后在business method中使用em来做操作。并不要求一定要扩展某个template什么的。 目前的趋势是EJB3 core container可以做得很小和spring一样,所以说有ejb3使不是spring的killer的讨论。 如果spring对ejb3 persistence api的支持还是用template的模式,我觉得前途可不一定好。 P.S. 为什么冬眠村和spring村械斗,大概有点这个意思。 |
|
返回顶楼 | |
发表时间:2005-09-16
引用 EJB 3.0 offers a very limited form of Dependency Injection, which has different goals
That we conforms to EJB3 .0 doesn't mean we only do what the spec defines or what people think the spec is. We IMAGINE. |
|
返回顶楼 | |
发表时间:2005-09-17
Charlesxp 写道 引用 EJB 3.0 offers a very limited form of Dependency Injection, which has different goals
That we conforms to EJB3 .0 doesn't mean we only do what the spec defines or what people think the spec is. We IMAGINE. 但是一旦超越规范去实现或者想象,那所实现的/使用的就不是ejb3.0了,而是具备了厂商锁定的特点。那样还不如使用spring呢。 |
|
返回顶楼 | |
发表时间:2005-09-17
引用 但是一旦超越规范去实现或者想象,那所实现的/使用的就不是ejb3.0了,而是具备了厂商锁定的特点。那样还不如使用spring呢。
请看全文。如果我们自己做一套,就不叫"conforms to EJB3"了。做标准产品不意味着限死在里面。所有厂商都会毫无疑问的在ejb3规范的基础上推出自己的特色服务。用不用是用户的选择。如果ejb3的产品比spring还差,那就不叫进步,java ee 5也最好拉倒。 不是说spring不好,但spring实现时的技术现状和目前的技术发展已经有差距了。如果让spring的作者现在来做spring,spring会是另外一个模样. 关于image。很久以前的一个广告片(香港电信的广告,背景音乐是john lennon的image。广告语是what you can image can be true. 也是我最喜欢的一句。不敢想象和没有想象力的民族注定是不会有未来的,同样没有想象力的软件业也是没有未来的。如果你不敢想象超越,你就永远无法超越。 说开了说多两句。另一个帖子里一个哥们说自己具备地球思想。现实是在外星人的飞船出现在近地轨道以前,是没有地球人的概念的。只有强势文化输出的时候才谈地球思想,弱势文化没有资格谈地球思想的。 昨天胡哥在联大的发言和中国将要帮助第三世界的举措才叫地球思想,因为我们要输出我们的产品,资金,知识和文化。而在软件业,我们还是被输出的对象,谈何地球思想,人家的就是人家,就不是你的。 注:个人信念,无需认同。 |
|
返回顶楼 | |
发表时间:2005-09-17
Charlesxp 写道 引用 但是一旦超越规范去实现或者想象,那所实现的/使用的就不是ejb3.0了,而是具备了厂商锁定的特点。那样还不如使用spring呢。
拜托看全文。如果我们自己做一套,就不叫"conforms to EJB3"了。做标准产品不意味着限死在里面。 "conforms to ejb3"又怎么样,一个"conforms to ejb3"的产品一旦有了自己的想象和扩展,如果使用者碰巧用了这些想象,那就是厂商锁定。jboss,websphere,weblogic不都有很多自己的想象吗?不是有n多人利用这些想象的简便特性,最终搞出了n多难以在容器间移植的j2ee应用。 难道这个做法比spring强?至少我知道使用spring,我的东西还是可以切换容器的。 一个产品即便"conforms to ejb3",只要扩展了,就不要还扯标准这个大旗,充其量只能说这个产品的一部分实现了标准,另外一些都是私货,比spring好不到哪里去。 引用 不是说spring不好,但spring实现时的技术现状和目前的技术发展已经有差距了。如果让spring的作者现在来做spring,spring会是另外一个模样. 标准的制定需要一个较长的周期,这是标准的难处。但spring不是标准,它的作者还在干事,即便有差距,也在前进中。 而且,我比较好奇,到底spring的技术现状和目前的技术发展有多大实际的差距? 引用 关于image。很久以前的一个广告片(香港电信的广告,背景音乐是john lennon的image。广告语是what you can image can be true. 也是我最喜欢的一句。不敢想象和没有想象力的民族注定是不会有未来的,同样没有想象力的软件业也是没有未来的。如果你不敢想象超越,你就永远无法超越。 说开了说多两句。另一个帖子里一个哥们说自己具备国际精神。现实是在外星人的飞船出现在近地轨道以前,是没有地球人的概念的。 这个就扯远了吧。你可以想象,但是不要扯上标准。如果要遵循标准,那么,标准就是标准,制定标准的时候需要想象力,游戏规则一旦制定,就要有自我约束的能力,或者就参与标准的升级过程,在这个时候去想象。 要么,就像兄弟我一样,不鸟标准,自然就可以任意想象了。 |
|
返回顶楼 | |
发表时间:2005-09-17
引用 一个产品即便"conforms to ejb3",只要扩展了,就不要还扯标准这个大旗,充其量只能说这个产品的一部分实现了标准,另外一些都是私货,比spring好不到哪里去。
请问您用过我们的产品么?难道我们的创造力是为了让你无法移植么?您在用您臆想的证据来辩论。 引用 难道这个做法比spring强?至少我知道使用spring,我的东西还是可以切换容器的
你那里看到我们的产品用了就不可以切换容器?因为我说我们不但要遵循规则,更要创造? 请举证你的说法。 引用 但spring不是标准,它的作者还在干事。而且,我比较好奇,到底spring的技术现状和目前的技术发展有多大实际的差距?
spring什么时候开发的?如果2年过去了,技术还跟2年前在一个水平上。大概全世界的技术人员都抱着过去不放?谁都在干事,但一个产品的开发是由历史的,不是说任何时候都可以推到重来。差距在那里?等新一代产品出来了,您自己发现吧。 引用 那么,标准就是标准,制定标准的时候需要想象力,游戏规则一旦制定,就要有自我约束的能力,或者就参与标准的升级过程,在这个时候去想象。
要么,就像兄弟我一样,不鸟标准,自然就可以任意想象了。 你误解的我"image"的意思。遵循标准不意味着不能做到spring一样的效果,简单,可移植。我说image在这里,不是说一说到ejb容器就是笨重,帮定,ejb3容器也可以很轻便,可移植,在任何有j2se的环境运行,而做得到就要创造力(image)。规范不会告诉你如果做! |
|
返回顶楼 | |
发表时间:2005-09-18
引用 请问您用过我们的产品么?难道我们的创造力是为了让你无法移植么?您在用您臆想的证据来辩论。
你那里看到我们的产品用了就不可以切换容器?因为我说我们不但要遵循规则,更要创造? 请举证你的说法。 EJB3的可移殖性到现在还是谜,也许它会象EJB2那样巨难移殖,也许它的移殖性会很好。但有一点是肯定的:出于商家的利益考虑,它必须运行在应用服务器上,而不能象Spring那样在任何的Web服务器上运行。基于POJO的组件模型本来是完全可以在任何地方运行的,但是为了利益关系而让它与特定的容器绑定,只能让人觉得可悲。 引用 spring什么时候开发的?如果2年过去了,技术还跟2年前在一个水平上。大概全世界的技术人员都抱着过去不放?谁都在干事,但一个产品的开发是由历史的,不是说任何时候都可以推到重来。差距在那里?等新一代产品出来了,您自己发现吧。
不知道你这种话的依据在哪里?以后说这样的话之前至少要给出你的理由,凭你的主观臆测来判断一样技术过时只能说是可笑。 Java推出十年是了,是不是早就过时了?Windows推出那么多年,是不是该换个操作系统了? 我知道新的技术在发展,AOP、动态语言,JDK都在更新发展,Spring也在发展。但是很多技术都是有革命和改良的区别的,并不是每一年的技术都有革命性的发展的。IOC容器和AOP的提出给业界带来了革命,接下来的这几年就是对这些技术的改良、完善。也许再过五年或者十年,人们的观念又会发生革命性的变化,这时会有新的革命发生,新的技术也会产生。所以Spring所提出的IOC容器的核心观点在这几年是不会过时。至于完善,Spring自己也在完善,也在进步。 至于标准,它只能拖慢革新的步伐,看看EJB2,看看Entity bean吧,它给业界带来的损失比贡献更大。而且一个标准的制定要多久?两年?三年?看看EJB3吧,它制定了多少年了?要什么时候才能在业界普及?等它普及的时候也许新一代的革新就来临了。 |
|
返回顶楼 | |
发表时间:2005-09-18
Charlesxp 写道 引用 一个产品即便"conforms to ejb3",只要扩展了,就不要还扯标准这个大旗,充其量只能说这个产品的一部分实现了标准,另外一些都是私货,比spring好不到哪里去。
请问您用过我们的产品么?难道我们的创造力是为了让你无法移植么?您在用您臆想的证据来辩论。 您的产品在哪?兴许我还真的没用过,我也没有用过所谓的ejb3。但是我用过weblogic,websphere,jboss之类的东西,有那么一点点经验,只要在开发过程中利用了这些容器的超标准扩展,方便是方便了,但要切换容器,等着改吧。所以在后来的开发过程中,基本对这类自诩超越标准的新特性持漠视态度。 超越了标准,至少超越的那部分东西,早就不是标准了。 引用 引用 难道这个做法比spring强?至少我知道使用spring,我的东西还是可以切换容器的
你那里看到我们的产品用了就不可以切换容器?因为我说我们不但要遵循规则,更要创造? 请举证你的说法。 当然是您有举证义务了,您得先把您的产品如何超越标准的做法列举一个,然后我才能举证如果大伙按照您的超越来办事,只能锁定到您得产品了。除非您的创造的目的就在于实现标准,那样,就谈不上超越了,甚至也谈不上创造。 引用 引用 但spring不是标准,它的作者还在干事。而且,我比较好奇,到底spring的技术现状和目前的技术发展有多大实际的差距?
spring什么时候开发的?如果2年过去了,技术还跟2年前在一个水平上。大概全世界的技术人员都抱着过去不放?谁都在干事,但一个产品的开发是由历史的,不是说任何时候都可以推到重来。差距在那里?等新一代产品出来了,您自己发现吧。 敢情您以为为了更上新技术的发展必须搞一个推倒重来似,否则就有差距了。举个不相关的例子,Windows NT的技术到现在也有10多年了,其核心机制还是没什么本质变化(至于那个长角牛,偶就不知道了,只不过还没有发布的不算),早就落后于时代了,怎么看起来还那么牛气。 偶看,系统也好,框架也好,关键在于整个架构搭建的是否合理,是否具有开放性,而不在于这个架构是什么时候搭建的。只要新技术新思想的引入不需要做伤筋动骨的改动,有什么可以阻碍发展的。 我现在想知道的是,究竟有哪些技术差距,是spring不能通过在现有架构上演化来添加。 引用 引用 那么,标准就是标准,制定标准的时候需要想象力,游戏规则一旦制定,就要有自我约束的能力,或者就参与标准的升级过程,在这个时候去想象。
要么,就像兄弟我一样,不鸟标准,自然就可以任意想象了。 你误解的我"image"的意思。遵循标准不意味着不能做到spring一样的效果,简单,可移植。我说image在这里,不是说一说到ejb容器就是笨重,帮定,ejb3容器也可以很轻便,可移植,在任何有j2se的环境运行,而做得到就要创造力(image)。规范不会告诉你如果做! 规范当然只是规范,不会告诉实现者应该怎么实现,只是定义了实现之后所应该遵循的东西,表现出来的特性。所以,只要遵循了规范,即便是ejb2也是可以移植的。“ejb3容器也可以很轻便,可移植”,这个本身就是ejb3的重要目标,根据既定规范实现这个目标,谈不上是超越或者创造。 但是,兴许我们对"超越"这个词的理解不一样。你认为对规范的实现过程中的某些举措是"超越",而在我眼里,这个根本就是特定情形下的规范的"实现"。只有那种在实现既定规范之后,厂商为了跟上技术潮流或根据自己的实现提供一些规范之外的方便开发的可选项,那才算得上是超越。而且,前面谈的,好像就是这一类: 引用 That we conforms to EJB3 .0 doesn't mean we only do what the spec defines or what people think the spec is. 或者说,除了实现规范之外,您的产品可以不受制于规范,以及人们理解中的规范。而我恰恰认为这种超脱规范定义和理解力之外的东西,与spring相比不应具备标准所拥有的优势,而且恰恰是劣势。 |
|
返回顶楼 | |
发表时间:2005-09-18
xiecc 写道 引用 请问您用过我们的产品么?难道我们的创造力是为了让你无法移植么?您在用您臆想的证据来辩论。
你那里看到我们的产品用了就不可以切换容器?因为我说我们不但要遵循规则,更要创造? 请举证你的说法。 EJB3的可移殖性到现在还是谜,也许它会象EJB2那样巨难移殖,也许它的移殖性会很好。但有一点是肯定的:出于商家的利益考虑,它必须运行在应用服务器上,而不能象Spring那样在任何的Web服务器上运行。基于POJO的组件模型本来是完全可以在任何地方运行的,但是为了利益关系而让它与特定的容器绑定,只能让人觉得可悲。 引用 spring什么时候开发的?如果2年过去了,技术还跟2年前在一个水平上。大概全世界的技术人员都抱着过去不放?谁都在干事,但一个产品的开发是由历史的,不是说任何时候都可以推到重来。差距在那里?等新一代产品出来了,您自己发现吧。
不知道你这种话的依据在哪里?以后说这样的话之前至少要给出你的理由,凭你的主观臆测来判断一样技术过时只能说是可笑。 Java推出十年是了,是不是早就过时了?Windows推出那么多年,是不是该换个操作系统了? 我知道新的技术在发展,AOP、动态语言,JDK都在更新发展,Spring也在发展。但是很多技术都是有革命和改良的区别的,并不是每一年的技术都有革命性的发展的。IOC容器和AOP的提出给业界带来了革命,接下来的这几年就是对这些技术的改良、完善。也许再过五年或者十年,人们的观念又会发生革命性的变化,这时会有新的革命发生,新的技术也会产生。所以Spring所提出的IOC容器的核心观点在这几年是不会过时。至于完善,Spring自己也在完善,也在进步。 至于标准,它只能拖慢革新的步伐,看看EJB2,看看Entity bean吧,它给业界带来的损失比贡献更大。而且一个标准的制定要多久?两年?三年?看看EJB3吧,它制定了多少年了?要什么时候才能在业界普及?等它普及的时候也许新一代的革新就来临了。 JBoss和Oracle都会推出嵌入式的EJB3容器,特别是JBoss的EJB3嵌入式容器你已经可以在JBoss网站下载,也是通过和Spring一样的方式,jar文件是打包在WAR中的,在web.xml通过Servlet进行容器的初始化。因此你开发的EJB3应用程序不会绑带到应用服务器上,实际上和Spring应用一样的,打一个WAR包,就可以在Tomcat上面部署。 Spring的Template方式确实有点过时了,因为EJB3处理同样的问题用的解决办法更加优雅。 不过,究竟如何,还是让我们拭目以待吧,EJB3和Spring都会不断改进的,这个世界一定要多点选择才精彩。 |
|
返回顶楼 | |