/ / Використання ін'єкції всередині методу @Provides у Dagger - java, залежність-ін'єкція, кинджал

Використання ін'єкцій у методі @Provides в Dagger - java, injection-injection, кинджал

У мене проста служба:

public class AccountService implements IAccountService {

@Inject
IAccountDAO accountDAO;

}

Цей клас забезпечується моїм модулем:

@Module(library = true )
public class ServiceModule {
@Provides @Singleton
IAccountService provideAccountStoreService(IAccountDAO accountDAO) {
IAccountService service= new AccountService();
//Somehow set the accountDAO inside service
return service;
}

@Provides @Singleton
IAccountDAO accountDAO provideAccountDAO() {
return new AccountDAO();
}

}

Чи є спосіб, коли кинджал зробить ін'єкцію на "службі" після того, як я поверну його та перед тим, як його ввести в якийсь інший об'єкт?

Відповіді:

1 для відповіді № 1

Гаразд, було простіше, ніж я думав (і насправді показано як приклад на домашній сторінці кинджала):

@Module(library = true )
public class ServiceModule {
@Provides @Singleton
IAccountService provideAccountStoreService(AccountService service) {
return service;
}

@Provides @Singleton
IAccountDAO accountDAO provideAccountDAO() {
return new AccountDAO();
}

}