簡體   English   中英

Guice配置錯誤:找不到合適的構造函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM