簡體   English   中英

檢查Dagger 2依賴周期的簡單方法?

[英]Easy way to check Dagger 2 dependency cycle?

這里。

因此,在我的項目中進行了一些重構之后,我最終遇到了依賴循環SOMEWHERE。 我的具有@Provided依賴項的模塊非常龐大,很難理解到底是什么原因。

這是控制台日志: http : //pastebin.com/yxDDEHgz

如您所見,它很大,什么也沒告訴我。 有什么方法可以快速檢查哪個依賴項注入會導致循環?

您只需要注意以[parameter: …開頭的行[parameter: …

如果您注意,您會看到周期如下:

line 16: [parameter: packagename.map.mapservice.IMapService mapService]

line 13: [parameter: packagename.lib.common.IApplicationVisibility mapVisibility]

line 9: [parameter: packagename.lib.notifications.INotificationSettings notificationSettings]

line 7: [parameter: packagename.map.mapcontent.MarkerClickHandler markerClickHandler]

line 5: [parameter: packagename.map.mapservice.IMapService mapService]

在這里,您嘗試重新注入IApplicationVisibility因此循環在這里:

line 3: [injected field of type: packagename.lib.common.IApplicationVisibility applicationVisibility]

IMapService-> IApplicationVisibility-> INotificationSettings-> MarkerClickHandler-> IMapService(還是IMapService !!!)-> IApplicationVisibility

您再次將IMapService注入了MarkerClickHandler ,從而開始了循環

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM