我正在學習dagger2
依賴注入框架。我喜歡它如何注入依賴。我讀這篇文章https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2我看到他們在兩個Modules
的幫助下解釋了這一點。如何在Dagger2中實例化我們的依賴關係圖的一個實例
AppModule
& NetModule
是兩個Modules
。既有構造函數,所以他們實例化的依賴圖的一個實例是這樣
mNetComponent = DaggerNetComponent.builder()
// list of modules that are part of this component need to be created here too
.appModule(new AppModule(this)) // This also corresponds to the name of your module: %component_name%Module
.netModule(new NetModule("https://api.github.com"))
.build();
假設我有一個更Modules
不具有構造函數,然後我將如何對其進行初始化,其他2個模塊需要在構造函數值?
感謝
我正在使用最新版本的匕首,它說'.appModule(新的AppModule(this)) .netModule(新的NetModule(「」))'已棄用 –
@Williams當Dagger2可以構建你的模塊本身。如果你使用'@ Module'註釋的類具有所有的依賴關係(本身,來自相同組件的其他模塊或其他組件在父組件中被列爲依賴關係),並且具有缺省或公共無參數構造函數Dagger可以實例化模塊,而無需手動設置調用'.someModule(new SomeModule()'是多餘的)。 –
在我的情況下,我在兩個模塊中都有一個參數構造函數,它爲什麼仍然發出警告 –