[英]Guice config error: Could not find a suitable constructor
我有一些課程想通過Guice實例化,但是得到了:
Could not find a suitable constructor in com.workspace.myclass. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
我的代碼如下所示:
public class MyModule extends AbstractModule {
@Override
protected void configure() { }
myClass<obj> getMyClass(arg1, arg2) {
Object someObj = new someObj(arg1);
return myClass<>(someObj, s -> new Obj(arg2, s.getMethod()));
}
}
public myClass<T extends someClass> {
public myClass(arg1, Function<obj<T>, obj2<T>> arg2) {
}
}
public static void main(args[]) {
Injector injector = createInjector(new MyModule());
MyClass myClass = injector.getInstance(MyClass.class);
}
Guice是否無法將lambda解析為MyClass的構造函數?
Guice不喜歡我在模塊中給定getMyClass的返回類型myClass<obj>
,並且只使用return myClass
。
我相信您在getMyClass方法中缺少@Provides注釋是否嘗試過在configure方法中使用綁定器進行綁定?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.