0
我正在使用Dagger Android 2.13,并且正在设置活动范围的依赖关系。匕首2.13:构造函数注入类的控制范围
我明白了如何为模块内声明的依赖性指定范围:
@Module
public class MyActivityModule {
@Provides
@PerActivity
MyActivityDataRepo provideMyActivityDataRepo() {
return MyActivityDataRepo(); // simplified for the sake of clarity
}
}
但我怎么会指定通过构造注射加入到依赖图形类的范围,如下面?
class MyActivityOtherDataRepo {
@Inject
MyActivityOtherDataRepo() {
}
}
有没有什么办法让作用域为MyActivity
此类活动?
或者一旦它通过成员注入被注入到MyActivity
中,它会被有效执行作用域?如果是这样,是否有方法将范围限制在MyActivity
?我所能想到的是将MyActivityOtherDataRepo
包私人化,并将其放在与MyActivity
相同的包中。
那么你总是可以不使用构造函数注入,只从模块中的方法提供它,然后只将这个模块包含在你想要使用它的单个组件中。尽管我没有看到任何好处,但你会引入更多不必要的复杂性。 –