2009-12-26 116 views
3

你有沒有在項目中一起使用spring和EJB?這是好還是不好。以及你如何使用Spring和EJB? 感謝使用彈簧與ejb

回答

8

春季手動對EJB整合comprehensive chapter

[...]需要注意的是 使用Spring不使用EJB阻止你 是很重要的。事實上,Spring使它更容易訪問EJB,並且 在它們中實現EJB和功能 。另外,使用 Spring來訪問 的EJB提供的服務允許 執行稍後透明 本地EJB之間切換的那些服務,遠程 EJB,或POJO(普通老式Java對象) 變體,而無需客戶端代碼 被改變。

它的價值主要在於訪問無狀態會話bean,因爲它們更符合Spring的面向服務的服務模型。您還可以從有狀態會話bean和實體bean中獲得一些價值,但僅限於有限的程度。 EJB2實體豆的設計非常糟糕,以至於無法進行春季拋光可以掩蓋下面的污穢。

問題仍然存在,你爲什麼要這樣做。 Spring自己的功能至少與EJB相匹配。混合這兩者的最常見原因是,如果您有一個使用EJB的現有代碼庫,並且您需要將Spring應用程序與它集成。如果沒有現有的EJB,則沒有任何意義,您可以堅持使用Spring。

1

只是爲了在方法上添加更多的細節 - 我們將有一個簡單的Spring POJO,它將使用@EJB註釋向其中注入EJB。這個POJO將使用將成爲服務器部署的一部分的spring上下文文件加載。當服務器啓動時,Spring會自動將EJB資源注入到POJO中,因爲它將Pitchfork集成到Weblogic中。爲了測試這段代碼,一旦部署了應用程序,我們可以擁有一箇中間EJB,它將我們的BeanFactoryBean(一個EJB)的實現注入到它中,它將使用BeanFactory查找POJO。然後,我們將調用POJO上的一個方法,該方法將使用注入的EJB調用該EJB上的方法並返回值。關於這個例子的更多細節可以參見at this location