У мене проста служба:
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();
}
}