匕首中的方法注入有什么作用?

时间:2019-02-24 03:45:26

标签: android dependency-injection dagger-2

有人可以解释以下代码段:

class UserDetailsFragment: UserDetailsContract.View {

@Inject lateinit var accountHelper: AccountHelper
private lateinit var presenter: UserDetailsPresenter

@Inject
fun injected() {
  presenter = UserDetailsPresenter(this, accountHelper)
}

AccountHelper似乎由以下模块提供:

@Module
class AccountModule() {
  @Provides
  @AccountScope
  internal fun provideAccountHelper(apiClient: ApiClient): AccountHelper {
      return AccountHelper(apiClient)
  }
  1. 使用@Inject注释构造函数会将其添加到具有该类注释范围的依赖关系图中(此处是无作用域的)。用@Inject注释方法有什么作用?

  2. 在AccountModule的ProvideAccountHelper中:@Singleton提供了所引用的apiClient。如果有另一个ApiClient提供相同的作用域(@AccountScope),匕首会使用它吗?有没有匕首会根据我想问的范围提供依赖关系。

谢谢。

0 个答案:

没有答案