我只是用Google Guice進行依賴注入,並開始將它集成到我現有的應用程序中。到現在爲止還挺好。除了它們的依賴關係之外,我還有很多類需要Strings,DataSources等等。我知道有NamedBindings,但我真的不想爲每個簡單的字符串創建一個註釋,我必須傳遞給每個類的構造函數。然後,有一個名爲AssistedInject的事情,爲我創建Factory實現。哇,但我仍然必須定義工廠的界面。那好了這個例子類,它確實有依賴的類,但什麼:Guice的依賴注入:沒有被任何教程覆蓋的東西
public class FooBarClass {
public FooBarClass(String name, String anotherOne) {
// Some stuff
}
}
有我的疑問如何使用吉斯,或者更一般地說,DI正道案件。 「我經常聽到:XYZ Framework是新的新的。」但這暗示我必須創建每個實例與DI框架。
只有一個實例需要
如果我需要這個類的一個實例?這個類在兩個字符串旁邊絕對沒有依賴關係。考慮一下Shutdown Hook,它會被立即執行一次,然後作爲Shutdown Hook傳遞給JVM。我應該用Guice創建這個實例嗎?這對我來說看起來很愚蠢,因爲沒有什麼可以注入,但是我必須編寫一個工廠接口來傳遞Guide兩個參數,並且必須爲我的FooBarClass創建一個接口來使用DI。
多個實例都需要
同樣的道理也適用於在那裏我需要這個類的多個實例的情況下。沒有依賴關係,但我必須創建一堆樣板代碼才能從中得到任何東西。這對我來說似乎是錯誤的。
那麼,我該如何使用DI和/或Guice?
非常感謝!