Secondo il ThrowingProvider documentazione Guice Ho la seguente interfaccia:Guice ThrowingProvider problema
public interface IConfigurableProvider<T> extends ThrowingProvider<T, ConfigException> {}
ho più classi che implementa questa interfaccia, per non assumere Ho la seguente:
public class SomethingProvider extends ConfiguredProvider implements IConfigurableProvider<Something> {}
Di Naturalmente questa classe implementa il metodo necessario:
public Something get() throws ConfigException { /* ... */ }
Nel mio modulo, ho il seguente codice nel MyModule.java
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class);
Ma quando inizio la mia domanda il seguente errore prodotto:
6) No implementation for com.package.Something was bound.
while locating com.package.Something
for parameter 5 at com.package.OtherClass.<init>(OtherClass.java:78)
at com.package.MyModule.configure(MyModule.java:106)
Io in realtà non so dove devo cominciare a cercare il bug .
Aggiornamento: fornisce lo stesso errore anche se ho impostato l'ambito così:
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class)
.in(Singleton.class);
Come la risposta accettata ha sottolineato ho frainteso l'uso di 'ThrowingProviderBinder'. Il costruttore iniettato dovrebbe attendere un provider invece dell'oggetto fornito (e dovrebbe esserci l'eccezione controllata gestita). –