De acuerdo con la documentación ThrowingProvider de Guice tengo la siguiente interfaz:Guice ThrowingProvider problema
public interface IConfigurableProvider<T> extends ThrowingProvider<T, ConfigException> {}
tengo varias clases que implementan esta interfaz, y mucho suponer Tengo el siguiente:
public class SomethingProvider extends ConfiguredProvider implements IConfigurableProvider<Something> {}
De Por supuesto, esta clase implementa el método necesario:
public Something get() throws ConfigException { /* ... */ }
En mi módulo, tengo el siguiente código en MyModule.java
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class);
Pero cuando comienzo mi solicitud produjo el siguiente error:
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)
Realmente no sé por dónde debería empezar a buscar el error .
actualización: Proporciona el mismo error incluso si fijo el alcance así:
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class)
.in(Singleton.class);
Como la respuesta aceptada señaló, no entendí el uso de 'ThrowingProviderBinder'. El constructor inyectado debe esperar a un proveedor en lugar del objeto proporcionado (y debe haber una excepción controlada manejada). –