Android 为什么这个错误会在dagger 2中发现依赖循环
错误如下 错误:(32,26)错误:找到依赖项循环: com.d2u.android.data.network.LoopJNetworkManager在 com.d2u.android.di.module.ApplicationModule.provideNetworkManager(loopJNetworkManager) com.d2u.android.data.network.LoopJNetworkManager在 com.d2u.android.data.network.LoopzPostRequestHandler.(…,loopJNetworkManager) com.d2u.android.data.network.LoopzPostRequestHandler在 com.d2u.android.di.module.ApplicationModule.ProvideLopZPostHandler(loopzPostRequestHandler) com.d2u.android.data.network.RequestHandlerHelper提供于 com.d2u.android.di.component.ApplicationComponent.getRequestHandlerHelper()Android 为什么这个错误会在dagger 2中发现依赖循环,android,Android,错误如下 错误:(32,26)错误:找到依赖项循环: com.d2u.android.data.network.LoopJNetworkManager在 com.d2u.android.di.module.ApplicationModule.provideNetworkManager(loopJNetworkManager) com.d2u.android.data.network.LoopJNetworkManager在 com.d2u.android.data.network.LoopzPo
似乎该提供商:
@Provides
@Singleton
LoopJNetworkManager provideNetworkManager(LoopJNetworkManager loopJNetworkManager) {
return loopJNetworkManager;
}
…取决于它要生成的类型的实例,这是无法满足的。我不明白这是什么意思指定
LoopJNetworkManager
作为此提供程序方法的参数意味着Dagger将尝试获取/构建该类型的实例,以使其可供provideNetworkManager的主体使用()
。因此,它将扫描模块的其余部分,以找到LoopJNetworkManager
的提供程序。这就是此方法。您有点陷入无限循环中。
@Provides
@Singleton
LoopJNetworkManager provideNetworkManager(LoopJNetworkManager loopJNetworkManager) {
return loopJNetworkManager;
}