根據吉斯的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