我有一個類,每個請求(dbSession在我的例子中)和其他一些使用每個請求對象的實例的類都應該創建(和銷燬)實例。就像這樣:作用域範圍傳播
webservice --> repository --> dao --> dbSession
( - >裝置使用)
但後來我有一個類似的用例,但dbsession不應該被綁定到一個請求。像這樣:
webservice --> otherService --> repository --> dao --> dbSession
當前dbSession類被綁定到請求。爲了實現另一個用例,db會話不能被請求綁定。我可以使用限定符來實現,但是我必須爲兩個範圍重複一堆(需要的)提供者方法。
所以,我正在尋找另一種解決方案。是否有可能傳播示波器?我的意思是,依賴注入的注入目標範圍的對象?
@request webservice --> @myScope otherService --> @myScope repository --> @myScope dao --> @myScope dbSession
在該示例中,otherService的所有依賴關係應與otherService(對otherService的調用是異步)位於同一範圍內。
Guice是這樣的可能嗎?只是出於好奇:CDI可能嗎?
看起來像機器人腿問題的情況:https://github.com/google/guice/wiki/FrequentlyAskedQuestions#how-do-i-build-two-similar-but-slightly-different-trees-of -objects –