Pas*_*ent 101
我需要一些简单的东西,所以没有EJB或Seam.
您是否愿意解释自EJB3以来EJB的重要性?你意识到我们不再是在2004年吗?我真的很想读你对光的定义和你的论点(我会很高兴地更新我的答案,因为我很确定我会有一些可靠的事情要说).
另一方面,我需要JPA(Hibernate或替代)和JSF与IceFaces.
包含JSF 2.0,JPA 2.0,Bean Validation,EJB 3.1 Lite,CDI等的Java EE 6 Web Profile 非常适用于此,您可以使用GlassFish v3 Web Profile运行使用Java EE 6 Web Profile构建的应用程序.
您是否认为在Tomcat上部署的Spring 3上的这种堆栈是一个不错的选择?或者Java EE 6 Web应用程序可能更好?
好吧,我喜欢在非专有平台(Java EE)而不是专有容器(Spring)上运行我的代码的想法.我认为Java EE 6已经足够好了(这是一个委婉语,EJB 3.1(Lite),JPA 2.0,JSF 2.0,CDI kick ass).请注意,我是一个JSF怀疑论者,但我再看一下,带有CDI的JSF 2.0是如此不同,我甚至无法比较.如果你没有看CDI,让我告诉你它摇滚.
我担心Java EE 6是一项新技术,尚未有详细记载.
Java EE看起来很好地记录在我身上.这听起来像是免费索赔.而且,不管你信不信,我开始发现Spring变得复杂,而Java EE变得更容易了.
Tomcat似乎比Glassfish 3更容易维护.
你尝试过什么吗?你有什么特别的问题吗?再次,这听起来像是免费索赔.
Bea*_*ker 32
我没有使用过JavaEE6.
然而,我被JavaEE和EJB的所有先前版本严重打败,直到它将自己确立为事实上的标准,而不仅仅是法律上的标准,我才会信任它.目前,Spring仍然是事实上的标准.
骗我,是你可耻.骗我两次,羞辱我.骗了我三次,EJB.
有些人会声称Spring是专有的.我认为JavaEE规范的供应商实现同样是专有的,如果不是更多的话.
最近我进行了一次重大转换,将一堆Java应用程序从JBoss迁移到Weblogic.所有Spring/Hibernate应用程序都没有修改,因为它们内置了所有需要的库.所有使用JPA,EJB和JSF的应用程序都是端口灾难.应用服务器之间对JPA,EJB和JSF的解释的细微差别导致了各种令人讨厌的错误,这些错误需要永远修复.甚至像JNDI命名这样简单的东西在AppServer之间完全不同.
Spring是一个实现.JavaEE是一个规范.这是一个巨大的差异.我更喜欢使用规格如果规格是100%气密的,并且在供应商实施该规范的方式中绝对没有摆动空间.但JavaEE规范从未如此.也许JavaEE6更加气密?我不知道.您可以在WAR中打包的越多,您对AppServer库的依赖程度越低,您的应用程序就越便携,毕竟,这是我使用Java而不是Dot-NET的原因.
即使规范是空气密封的,如果能够升级应用程序服务器而不必升级我所有应用程序中的所有技术堆栈也是很好的.如果我要升级从JBoss的4.2到JBoss 7.0,我要考虑的JSF的新版本上的所有我的应用程序的影响.我不必考虑对我的Spring-MVC(或Struts)应用程序的影响.
Boz*_*zho 23
没关系.Java EE 6已经足够好了,并且由于其中的配置文件,它并不"重" - 您将只使用Web配置文件.
就个人而言,我更喜欢春天.但是我已经没有针对Java EE 6的理性论点了:)
(正如我在评论中提醒的那样 - 你可能想要尝试RichFaces,以及ICEfaces和/或PrimeFaces - 取决于你需要的组件).
pri*_*pri 17
最近,我的一个客户端任务涉及评估Spring Stack Vs Custom框架堆栈和Java EE标准.经过一个月的评估和原型设计之后,我不仅高兴而且被Java EE 6功能集所震撼.对于2011年和未来的任何新的"企业"项目架构,我将使用Java EE 6和潜在的扩展,如Seam 3或即将推出的Apache JSR299扩展项目.Java EE 6体系结构经过精简,并融合了过去几年中发展起来的许多开源思想.
考虑以下开箱即用的功能:事件管理,上下文和DI,拦截器,装饰器,RESTful Web服务,带可嵌入容器的集成测试,安全性等等.
我的大多数结果发布在我的博客中,解释了您可能觉得有用的Java EE 6的关键概念.
当然,选择框架没有硬性规定.对于不需要丰富的会话会话状态的简单"网站",Java EE 6可能会非常臃肿.你不妨选择Grails或Play!框架.但对于对话式Web应用程序,我看不出更好的理由,为什么Java EE 6不适合.
Pio*_*zda 15
现在,经过一段时间,我有堆栈经验:
我的结论是:
阅读Adam Bien的企业Java未来......是清晰的(Java EE有/无Spring和反Versa),包括获得硬币双方的评论.我将选择Spring有几个原因,以下是其中之一(从帖子中复制其中一条评论)
'我不确定你在谈论哪个Java EE 6服务器.有Glassfish认证和TMAX JEUS.在Java EE 6兼容版本的WebSphere,WebLogic,JBoss等正在生产中并且可以用于实际应用之前,需要相当长的时间(读取:年).Spring 3只需要Java 1.5和J2EE 1.4,因此几乎可以在所有环境中使用
我的观点是基于其他人没有提到的东西,即我工作中的代码往往存活数十年(文学上),因此维护对我们来说非常重要.维护我们自己的代码以及我们使用的库.我们自己控制的代码,但是我们使用的库在我们的兴趣中,在上述几十年或更长时间内由其他人维护.
总而言之,我得出的结论是,实现这一目标的最佳方法是将Sun规范的开源实现一直使用到原始JVM.
在开源实现中,Apache Jakarta已经证明可以维护它们的库,最近Sun在为Glassfish v3生成高质量的实现方面做了大量的工作.无论如何,我们也有所有模块的源代码,所以如果其他所有模块都失败了,我们可以自己维护它们.
Sun规范通常非常严格,这意味着符合规范的实现可以轻松地互换.看看servlet容器吧.
在这种特殊情况下,我建议只看一下JavaServer Faces,因为它是Java EE 6的一部分,这意味着它将在非常长的时间内可用和维护.然后我们选择增加MyFaces Tomahawk,因为它提供了一些有用的补充,它是一个jakarta项目.
JBoss Seam或其他人没有任何问题.只是他们的重点不在于对我们来说如此重要的维护问题.
小智 6
如果你已经拥有它,我可以看到使用Spring,但对于新项目,有什么意义呢?我会直接使用Java EE 6(ejb3,jsf2.0等)
如果客户端对Flex很好,那就去吧.使用BlazeDS或类似的 - 没有mvc.您可能会在该部分上花费更多时间(在服务器和客户端之间交换数据),但您可以完全控制双方.
除非你想要杀死你的浏览器,否则不要使用Vaadin.此外,一旦页面变得更复杂,您就会花更多的时间来解决代码问题.此外,您的思维方式需要彻底改变,您对标准前端开发的任何了解都将是浪费.您不必使用HTML或JS的论点没有多大意义.即使你不使用它,你仍然需要知道它.它最终呈现给HTML和JS.然后尝试调试它 - 确保你有几天简单的东西.另外,我无法想象不了解html/js的web开发人员.
我只是不明白为什么人们会尝试所有这些抽象而不是直接使用Java EE.
| 归档时间: |
|
| 查看次数: |
39235 次 |
| 最近记录: |