con*_*ile 2 java gwt-gin guice dagger dagger-2
使用Google Guice或Gin我可以指定参数不受依赖注入框架控制:
class SomeEditor {
@Inject
public SomeEditor(SomeClassA a, @Assisted("stage") SomeClassB b) {
}
}
Run Code Online (Sandbox Code Playgroud)
辅助参数stage在SomeEditor创建实例时指定.
SomeClassA的实例取自对象图,SomeClassB的实例在运行时从调用者获取.
在Dagger中有类似的方法吗?
因为工厂是一种独立的样板来进行优化(参见此处的邮件列表讨论),Dagger将其留给了一个姐妹项目AutoFactory.这提供了Guice通过FactoryModuleBuilder提供的" 辅助注入 "功能,但具有一些额外的好处:
例如,来自AutoFactory自述,这将产生一拉SomeClassFactory带providedDepA在@Inject-annotated构造函数和depB在一个create方法:
@AutoFactory
final class SomeClass {
private final String providedDepA;
private final String depB;
SomeClass(@Provided @AQualifier String providedDepA, String depB) {
this.providedDepA = providedDepA;
this.depB = depB;
}
// …
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1183 次 |
| 最近记录: |