Я использую guice для инъекций зависимостей.Как использовать гик-инжектор в качестве провайдера?
У меня есть этот провайдер:
public class RequestUrlRepository implements Provider<IRequestUrlRepository> {
@Singleton
@Override
public IRequestUrlRepository get() {
IRequestUrlRepository answer = null;
if (System.getProperty("").equals(RouteOrCostRequest.cost.toString())){
answer = new CostRequestUrlRepository(...);
}
else
{
answer = new RoutingRequestUrlRepository(...);
}
return answer;
}
}
, как я могу использовать Guice инжектор для заполнения new CostRequestUrlRepository(...);
и new RoutingRequestUrlRepository(...)
, когда он в поставщика?
Если это невозможно, как можно инициализировать их без ручного создания всех параметров ctor?
Я собираюсь инициализировать 'costRepository' и' routingRepository' для заполнения интерфейса 'IRequestUrlRepository'. Я не думаю, что я должен писать провайдеру для каждого из них. –
Для любой привязки к 'X',' Provider 'или' @Provides X', Guice автоматически создаст Провайдера или вызовет 'provider.get()' автоматически , Нет необходимости писать свои собственные Провайдеры для репозиториев. –