我需要一些說明。我知道如何使用JSF及其相應的會話bean,但我對EJB感到困惑。 EJB引入的bean和JSF使用的會話bean之間有什麼區別(對於ejb我知道無狀態/完整會話bean和實體bean,實體管理器等)。我只是不知道何時使用EJB以及何時使用jsf bean。除了實體bean之外,ejb有狀態/較少會話bean看起來與jsf會話bean相似。我已經閱讀了關於注入ejb到jsf,但爲什麼不只是與jsf bean一起使用ejb?我希望你能理解我的困惑。謝謝。jsf beans和ejb beans之間的區別
12
A
回答
6
Java EE中不同類型的託管bean之間確實存在一些混淆。爲了增加混淆,Java EE 6引入了第三種託管bean:一個CDI bean。
在這個答案,我試圖解釋的異同一點:How do CDI and EJB compare? interact?
簡單說,JSF管理的bean主要是不提供交易支持,這是你的業務邏輯工作時,經常需要一些東西,特別是JPA。
另請注意,術語session
與會話作用域託管bean中的術語完全不同,它與無狀態和有狀態會話bean中的術語所指的類型完全不同。
7
Alexis
您首先需要知道JSF bean和EJB bean之間的區別。
JSF Bean: JSF bean是pojo類,它用於讀取jsf的組件值。 jsf中有兩種類型的bean
託管bean是關於如何創建和初始化java bean。如你所知,jsf使用惰性初始化模型。這意味着特定作用域中的bean不是在範圍啓動時創建和初始化的,而是根據需要(即首次需要bean時)初始化的。
支持bean是關於特定託管bean的角色。這是扮演位於頁面上的組件的服務器端表示的角色。通常,支持bean有一個請求範圍,但它不是一個限制。
EJB Bean 是封裝應用程序業務邏輯的服務器端組件。業務邏輯是滿足應用程序目的的代碼。
主要有三種類型的會話的beans-
1.Statefull會話bean
2.Stateless會話bean
3.Singleton會話Bean(EJB 3.1)
-1
有另一個解釋CDI和EJB差異的網站上的答案。當你終於掌握整個畫面時,它會有很大的幫助。 Where to use EJB 3.1 and CDI?
相關問題
- 1. Spring DOCTYPE和<beans>標籤之間的區別
- 2. JSF Managed Beans性能
- 3. DAO和Spring Beans有什麼區別?
- 4. Intellij 13 JSF支持Spring Beans
- 5. java beans:持久性字段和持久性屬性之間的區別?
- 6. jsp和java beans
- 7. 新手在企業Java Beans(EJB)
- 8. 在不同層之間傳遞beans
- 9. Servlet vs Beans
- 10. Spring Instantiation和'unused beans'
- 11. Spring beans DTD和XMLNS
- 12. CDI Beans和JPA Transactions
- 13. Spring Beans Profiles和OSGI
- 14. Springframework beans
- 15. ScheduledExecutorService + beans
- 16. <h:dataTable>和SessionScoped beans
- 17. Spring beans下未顯示Spring beans
- 18. NoClassDefFoundError:com/beans/MyBean
- 19. Java EE xml beans
- 20. Servlets vs Beans
- 21. Liferay JMX beans
- 22. 多個EmbeddedServletContainerFactory beans
- 23. NoClassDefFoundError:javafx/beans/InvalidationListener
- 24. 比較Java Beans和BeanComparator
- 25. JavaFX beans/properites和多線程
- 26. java中的java beans
- 27. 如何跨HTTP和HTTPS請求重用SessionScope的JSF Beans?
- 28. 使用Spring beans在JSF 1.2中模擬jsf 2.0視圖範圍
- 29. jqPlot如何從java arraylist和JSF beans製作圖表
- 30. java.lang.NoClassDefFoundError:org/springframework/beans/factory/NoUniqueBeanDefinitionException