2010-10-29 88 views
1

在以前的J2EE版本中,通常的做法是用Spring,Hibernate,Struts等框架补充默认库。
Java EE 6似乎缩小了差距(包括CDI,JPA,JSF2.0等)。 ) - 我还是应该使用额外的框架(我是否需要框架来补充Java EE 6,JSF-2 Web-App?哪个?

我目前使用的是默认的Oracle堆栈缝面临库春季) - ?GlassFish的第三版,JSF(钻嘴鱼科)2.0

回答

8

J2EE 1.3和J2EE 1.4中的常见做法确实是为J2EE堆栈补充了很多额外的框架。理论上讲,你可以只使用J2EE构建一个应用程序,但我认为即使Sun建议为任何不平凡的应用程序都这样做。你提到的框架(Spring,Hibernate和Struts)正是我记忆中经常使用的框架。

从Java EE 5开始,现在肯定使用Java EE 6,您不再需要额外的框架。所有加入J2EE的核心Spring容器现在都可以使用轻量级的EJB3.1和CDI组件模型来完成,ORM支持由JPA提供(通常由Hibernate实现,但一边),而MVC Web框架是标准堆栈通过JSF 2.

当然,个人可能仍然偏好Spring和Struts编程API,但对于Java EE 6,没有迫切需要使用它们。换句话说,它不再是绝对需要补充Java EE的。这就是说,Seam的确提供了一些很好的(可移植的)扩展到Java EE,而JSF实际上被构建用来与扩展和第三方组件库一起使用。然而,这样的组件库实际上不是一个“框架”,而只是给你额外的小部件在你的页面上使用。这与用Struts或GWT替换JSF不同。

1

我真的不知道我理解你的问题。

如果第三方库/框架增加了一些对您的应用程序非常不利的功能,您几乎肯定会使用它(尽管存在政治限制)。如果您没有从框架中获得任何好处,请将其忽略。

我真的不认为你应该从“补充默认库”的角度来考虑这个问题 - 它只是一种创建具有所需功能的应用程序的最有效和最可靠的方式。

因此,简单地评估每个框架(单独)与您当前正在使用的技术优点,然后使用最合适的一个。正确的答案会根据您的个人情况而有所不同,所以某人说出例如“是的,你需要 Spring和Hibernate,但忽略Struts。”

+1

我明白每个项目都是不同的,我不是在寻找一个明确的答案。尽管如此,还是有一些“常见做法”是明确的 - 例如,我不会将java.util.logging用于生产应用程序,而是选择SLF4J或Log4J。我希望避免评估无尽可能的框架,并获得哪些最常见的建议。另外,我所看到的大部分建议都是EE 6之前的,我认为这是完全不同的。 – yshalbar 2010-10-29 13:47:55

相关问题