0
我目前正在研究Java多模塊項目,並希望通過DI減少耦合。作爲一個最小的例子,我有兩個模塊。模塊A是我通過Guice做所有注入的客戶端。 Modula A在模塊B中調用大多數EJB中的類,並通過@EJB註釋注入自己。要讓模塊A調用模塊B中的類,我使用JNDI查找。我現在試圖擺脫JNDI並通過guice在模塊B中注入類。當我這樣做時,@EJB不再工作。有沒有通過guice做到這一點的解決方案?用Guice開始@EJB注入
Thx爲您的確切答案。這就是我需要知道的Guice。 JNDI是唯一的出路嗎?這個想法是讓DI測試變得更容易,因爲JNDI的東西真的很緊密。 – 2012-08-01 13:45:41
JNDI是一個非常鬆散的耦合。你的客戶只知道一個服務接口,通過jndi查找和連接這個接口的具體實現。 – 2012-08-01 15:09:08
從這個角度來看,你是對的,但我直接將JNDI調用到我的服務中,這對於沒有AppServer的孤立測試是個問題。我現在重構了我的課程,並在一個額外的課程中隔離了jndi的東西,我現在可以使用mockito輕鬆地進行模擬。 – 2012-08-02 09:12:57