2010-10-29 83 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

相關問題