簡體   English   中英

為什么不應該通過JSF框架管理實體bean?

[英]why shouldn't entity bean be managed by JSF framework?

我讀了一些帖子聽到(特別是BalusC帖子)和googled的原因(不深)但我找不到為什么不應該使用實體bean作為托管bean。 什么原因? (我正在學習“Pro JSF和HTML5”,在本書中,實體bean被用作托管bean。)

關注點分離。

通常,企業應用程序是作為EAR而不是WAR開發和部署的。 典型的EAR項目包含EJB子項目作為“后端”,WAR子項目作為“前端”。 EJB子項目包含所有JPA實體和EJB服務。 WAR子項目包含所有JSF托管bean和視圖(以及與JSF沒有密切關系的內容,如轉換器,驗證器,階段監聽器等)。

一個好的EJB子項目可能不依賴於JSF。 這使得它可以重用於不同的前端,例如Spring MVC,JAX-RS,Struts2,普通的JSP / Servlet,甚至是面向桌面的Swing應用程序。 這也意味着您的JPA實體和EJB服務中沒有一個應該在類中具有任何javax.faces.* import / dependency。 舉例來說,JPA實體或EJB服務中的FacesContext是令人震驚的,因為它不一定存在於其他前端。

“Pro JSF和HTML5”專注於簡單的WAR項目。 其中“好”是為了展示可能性和/或保持示例“簡單”,但這對於初學者一旦成長為開發企業應用程序實際上會產生誤導,如果本書不涉及設計問題,則更是如此。詳情。

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM