我使用guice來注入依賴關係。如何在guice提供程序中使用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;
}
}
我如何使用吉斯注射器填充new CostRequestUrlRepository(...);
和new RoutingRequestUrlRepository(...)
當它在供應商?
如果不可能,我如何在不手動創建所有ctor參數的情況下啓動它們?
我試圖啓動'costRepository'和'routingRepository'來填充'IRequestUrlRepository'接口。我認爲我不應該爲每個人編寫提供程序 –
對於任何綁定到'X','Provider'或'@Provides X',Guice都會自動創建一個Provider或自動調用'provider.get()' 。無需爲存儲庫編寫自己的提供程序。 –