2012-05-08 35 views
3

我正在Java EE中開發數據庫驅動的Web應用程序,我想知道使用EJbs的好處。在Web應用程序中使用EJB有什麼好處?

如果我理解正確,最好的做法是將EJB用於各種業務邏輯或數據庫事務。

我使用Hibernate作爲JPA我,這裏是我的問題:

什麼是它會從我的Managed Bean的所謂使用一個注入EJB作爲DAO而不是常規的Java類DAO的好處?有什麼區別?

我是Java EE新手,所以這可能是一個初學者的問題。

回答

5

如果您使用EJB,則可以使用EJB容器提供的許多非常重要的服務。對於幾乎任何人都有用的最重要的是依賴注入和聲明式事務。這兩者都可以由Spring框架提供。對於非常大的應用程序,EJB有一個定義良好的集羣模型會很有用,但您可能不需要這樣做。

+0

因此,在一個小型應用程序中使用常規類來處理業務邏輯是「好的」嗎? – tk2000

+4

@ tk2000:即使在那裏,您也需要事務處理,手動完成它們是非常繁瑣且容易出錯的。如果您已經在使用Java EE服務器並且因此擁有可用的EJB容器,那麼僅僅爲此使用EJB是值得的。現代的EJB非常易於使用 - 它只需要幾個註釋,您不必再處理部署描述符和JNDI查找,所以沒有理由害怕它們。 –

+0

+1爲此答案。手動處理JPA中的事務是一件痛苦的事情。一個EJB幾乎是一個普通的類,只是把@Stateless放在它的頂部,不要用新創建它,而是注入它。在90%的情況下,您只需要知道這一點。 –

相關問題