根据吉斯的ThrowingProvider文件我有以下接口:吉斯ThrowingProvider问题
public interface IConfigurableProvider<T> extends ThrowingProvider<T, ConfigException> {}
我有一个实现此接口的多个类,让我们假设我有以下几点:
public class SomethingProvider extends ConfiguredProvider implements IConfigurableProvider<Something> {}
中当然这个类实现了必要的方法:
public Something get() throws ConfigException { /* ... */ }
在我的模块,我在MyModule.java
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class);
下面的代码,但是当我开始我的应用程序产生以下错误:
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)
我真的不知道我应该从哪里开始寻找错误。
更新:它提供了即使我设定的范围,以及同样的错误:
ThrowingProviderBinder.create(binder())
.bind(IConfigurableProvider.class, Something.class)
.to(SomethingProvider.class)
.in(Singleton.class);
正如接受的答案指出,我误解了`ThrowingProviderBinder`的用法。注入的构造函数应该等待提供者而不是提供的对象(并且应该检查异常处理)。 – 2011-01-13 10:34:22