我遇到了一个情况......
在Spring 3.0和Java EE 6.0之间的Java EE开发方面,我被要求就哪种方法提出建议.我是,现在仍然是,Spring 2.5中,相比于传统的Java EE 5开发的启动,特别是与JBoss,我甚至迁移旧应用程序来春在这里影响了发展政策的重新定义,包括春特定的API,并帮助开发一个战略计划来培养更轻量级的解决方案,比如Spring + Tomcat,而不是更重的JBoss,现在,我们只是将JBoss用作Web容器,拥有我称之为"容器内容容器悖论",也就是说,让大多数API的Spring应用程序在JBoss中运行,所以我们正在迁移到tomcat.
然而,随着Java EE的6.0的许多功能的到来,这让春天在那个时候有吸引力的,易于部署,更少的耦合,甚至某种DI的,等等,似乎已经模仿,以某种方式或其他.JSF 2.0,JPA 2.0,WebBeans,WebProfiles等
所以,问题是......
从您的角度来看,考虑到Java EE 6.0提供的新视角,继续投资像Spring这样的非标准Java EE开发框架是多么安全和合乎逻辑?
我们可以谈谈Spring开发的3年或4年,或者您是否建议尽早采用Java EE 6.0 API及其实践?
我会很感激任何见解.
Oli*_*ohm 70
关键点恕我直言不是功能之一.在这方面,Spring将始终领先于JavaEE,因为它对OpenSource VS来说是很自然的.标准.因此,有一个事实是,使用Java可以更早地获得新功能(例如,容器集成测试是JavaEE 6中的一项新功能,并且已经在Spring中使用了很长时间).
最重要的一点是恕我直言,是管理和发展的生命周期之一.选择JavaEE时,可以将编程模型与基础架构联系起来.通常,应用服务器供应商并不是采用新标准版本的最快版本(归咎于WebSphere,JBoss,你有什么用).所以这意味着我们可能不会看到生产准备就绪,JavaEE 6在年底之前支持大型供应商的产品.
即使是这种情况,您仍然需要掌握管理的障碍,IT部门和预算控制经理愿意升级到这个闪亮的新版本.从这一方面来看,JavaEE 6甚至不是许多商店的选择.您可以选择将应用程序部署到何处?你想选择Glassfish进行生产吗?来吧,试试吧.大多数商店都没有处于这种"舒适"的状态.
完全相反:春天.从基础设施中解耦编程模型.转到当前的3.0.x并@Inject在Tomcat或遗留应用程序服务器中使用JPA 2等.
Wil*_*ung 12
如果您已经是春季商店,为什么还要费心转换?你很满意它,它做你想要的,它是积极开发的,你可能不会很快就想在Tomcat之外运行,如果有的话,因为Tomcat非常成熟,并且无处不在.因此,Java EE可能提出的任何可移植性承诺就在眼前.
我认为没有理由转离Spring.
由于威尔和奥利弗已经说过最关键的东西,我只会补充说:"如果它起作用并完成工作,那就别管它了!"."更新"和"标准化"并不总是等于"更好",事实上它很少 - 新事物笨重而且有些错误(这对我来说是最重要的)没有得到广泛支持.如果Java EE 6的其余部分与JSF2.0(以及所有Rich/Ice/Prime/WhateverFaces)一样"标准化",那么请相信我现在坚持使用Spring.许多公司坚持使用旧技术(稳定性>*),Spring已经上市多年并且已经很成熟.
@Edit:尤其对于@ymajoros:JSF(1.x和2.x)由于多种原因是一个有缺陷的标准,仅在少数情况下有用(即当您创建小型,简单的CRUD网站或当您是一位Java EE爱好者:
至于你如此喜爱的标准:他们最终以某种方式将JSF与JAX-RS集成在一起吗?因为最后我检查了那些规格是完全分开的,即使你可以做出很多改进.例如,为什么我不能在我的支持bean中使用@Path注释方法,因此它将由REST请求和JSF请求处理?
也许这些问题中的一些(全部?)现在已经修复,但是当我写这个答案时,他们只是JSF和标准的一些坏事中的一小部分.
目前,如果我想创建一个非常小的,简单的CRUD应用程序,我会使用Play 2.0(即使它是一个巨大的反模式)或类似RoR.当我想创建一个大型的"企业级"应用程序时,我抓住了一个JS框架(如ExtJS)和一个JS组件库将它与Java后端(例如Spring)结合起来,我做了我需要的,没有任何开销,所以被称为标准会带来.
当然JEE6有很酷的部分,比如JPA2,JAX-RS2,bean验证并不是那么糟糕.但是,使用整个标准堆栈只是因为他们称之为"标准"(正如我上面提到的,大多数规格甚至没有协同作用),在我非常谦虚的意见中,是错误的.
| 归档时间: |
|
| 查看次数: |
30210 次 |
| 最近记录: |