Closed Sum41forever closed 6 years ago
在研究 Arms 中注入多个通用 Persenter #181 的过程中,发现一些 Dagger 注入的常见问题,所以总结一下 如果下面没有你所遇到的问题,可以提出交流,也欢迎各位在这个 Issues 下面加入自己解决的,和 Dagger2 有关的问题
me.jessyan.mvparms.demo.mvp.contract.TestContract.View is bound multiple times
一个类的构造函数只能有一个有 @inject
没有 provider 或者 inject
如果 Component 含有 dependencies 的 Component,可能没有向外面暴露需要的对象。 (特别是注入多个 Persenter 比如这个 Issues #22 )
Error:(39, 10) 错误: me.jessyan.mvparms.demo.mvp.contract.UserContract.Model cannot be provided without an @Provides-annotated method.
Dagger 要求依赖的 Component 和当前 Component 必须是不一样的 Scope,如果依赖的 Component 超过一个,他们的 Scope 还必须一样
Component 的 dependencies 与 Component自身的 scope 不能相同,即组件之间的 scope 不同
Singleton 的组件不能依赖其他 scope 的组件,只能其他 scope 的组件依赖 Singleton 的组件, 没有 scope 的不能依赖有 scope 的组件
@inject注入的对象的泛型没有指定 Dagger2 找不到符号的原因总结
JessYanCoding:Dagger 要求每个 Component 都必须提供当前类里面被 @inject 修饰的所有对象。 所以,如果一个类里面这个 @inject 被一个 Component 提供,另外一个 @inject 被另外一个 Component 提供是不行的,必须两个 Component 都能独立完成这两个 @inject 的注入,所以也间接的规定了一个类里面只能允许一个 Component 进行注入,想重用 Component 只能通过依赖 Component 或者 Subcomponent 的方式,这也进一步解释了依赖 Component 和 Subcomponent 的作用
https://github.com/JessYanCoding/MVPArms/wiki/Issues#1
[Dagger/DependencyCycle] Found a dependency cycle Dagger的依赖注入出现重复注入
@DexterLin007 重复注入,是你自己依赖的问题,只有你自己处理。
在研究 Arms 中注入多个通用 Persenter #181 的过程中,发现一些 Dagger 注入的常见问题,所以总结一下 如果下面没有你所遇到的问题,可以提出交流,也欢迎各位在这个 Issues 下面加入自己解决的,和 Dagger2 有关的问题
Dagger2 不生成 "Dagger_" 文件
bound multiple times
Component A 有dependencies 的 Component B,A关联的 Module A 中有 provider,component B 关联的 Module B 中也有 provider,且在 Component B 中暴露出来了(不暴露不影响)
Types may only contain one @Inject constructor.
一个类的构造函数只能有一个有 @inject
cannot be provided without an @Inject constructor or from an @Provides-annotated method
没有 provider 或者 inject
如果 Component 含有 dependencies 的 Component,可能没有向外面暴露需要的对象。 (特别是注入多个 Persenter 比如这个 Issues #22 )
may not reference scoped bindings
Dagger 要求依赖的 Component 和当前 Component 必须是不一样的 Scope,如果依赖的 Component 超过一个,他们的 Scope 还必须一样
Component 的 dependencies 与 Component自身的 scope 不能相同,即组件之间的 scope 不同
Singleton 的组件不能依赖其他 scope 的组件,只能其他 scope 的组件依赖 Singleton 的组件, 没有 scope 的不能依赖有 scope 的组件
一个 Component 不能同时有多个 scope(Subcomponent 除外)
找不到语法的错误. 但就是报错
@inject注入的对象的泛型没有指定 Dagger2 找不到符号的原因总结