Avi*_*h R 2 android dependency-injection dagger
是否有可能在dagger中获取接口/类的实现列表?
我正在寻找像Ninject的Multi-Injection这样的东西.
已经记录在案.
TL; DR:
在您的提供商
@Provides @IntoSet Foo provideAFoo() { return AFoo(); }
Run Code Online (Sandbox Code Playgroud)
......其他模块或同一模块......
@Provides @IntoSet Foo provideBFoo() { return BFoo(); }
Run Code Online (Sandbox Code Playgroud)
......以及其他地方......
class Bar {
@Inject Set<Foo> allMyFoos;
}
Run Code Online (Sandbox Code Playgroud)
从Dagger2开始,可以映射依赖关系(即java.util.Map).
看起来文档不完整,但Dagger已经提供了这个.
例如(从dagger的google组中提取),使用Provide.Type.SET提供实现
@Provides(type=SET) Foo provideAFoo() { return AFoo(); }
Run Code Online (Sandbox Code Playgroud)
......其他模块或同一模块......
@Provides(type=SET) Foo provideBFoo() { return BFoo(); }
Run Code Online (Sandbox Code Playgroud)
......以及其他地方......
class Bar {
@Inject Set<Foo> allMyFoos;
}
Run Code Online (Sandbox Code Playgroud)
REF:在dagger的google小组中发帖
| 归档时间: |
|
| 查看次数: |
1520 次 |
| 最近记录: |