以下是這種情況:在基於EJB的應用程序中加載彈簧上下文
我有一個業務層,即一個EJB項目。實際上,只有一個創建的EJB。這個EJB負責將服務類暴露給調用EJB的其他層。我想在這一層介紹spring(使用DI功能)。
我的問題是,在這個業務層中加載spring上下文的最佳方式是什麼,以便每當EJB被調用時,spring上下文都不會一次又一次地加載?
(在Web項目中,有一個優勢,而配置在ContextLoaderListener的春天上下文,它就會被加載一次,只有當應用程序被啓動)
我曾經想過,包括在同一層,因爲春天:
- 配置所有DAO和服務類的依賴關係,並在必要時注入它們。
- 在業務層使用spring支持hibernate。
- 易於單元測試,通過注入屬性到類中並進行模擬。不需要一次又一次地運行其他層,以測試我的業務類/方法。
- 爲了能夠使用AOP(面向方面編程)進行日誌記錄和方法級別審計。
請幫助我建議在EJB項目中加載spring上下文的最佳方式。我也想知道,如果有任何替代方案,我可以在應用程序服務器中加載它(我正在使用Web球體應用程序服務器)。
感謝和問候,
Jitendriya短跑
不是EJB 3.1有它自己的依賴性注入框架,並且CDI會更好地集成我只需要一個輕量級的DI? – Ralph