assisted-inject

    1熱度

    1回答

    我有一個有兩個構造函數的類。我正在嘗試使用guice factory來創建這個類的實例。如果沒有參數傳遞,那麼應該調用默認的構造函數。如果傳遞了一個參數,那麼應該調用帶有參數的構造函數。但是,即使我將參數傳遞給工廠方法,仍然默認構造函數被調用。帶參數的構造函數根本不會被調用。以下是我的工廠班。 public interface MapperFactory { PigBagMapper crea

    1熱度

    1回答

    這個問題關於Guice @Assisted和@Provides的正確用法,以及如何去做。 目前的設計我指的是這樣的: 在層次結構頂部的類也是被暴露給客戶端(基本上,公共API),它的外觀類似的東西只有類: public class Manager{ public Manager(int managerId, ShiftFactory sf, WorkerFactory wf); // meth

    6熱度

    2回答

    假設我有一個第三方類,如下所示: public class MyObject { @Inject public MyObject(Foo foo, Bar bar) { ... } } 現在假設我有一個工廠接口,像這樣: public interface MyObjectFactory { public MyObject build(Bar bar); }

    1熱度

    1回答

    假設有A類即的構造看起來就像這樣: public A(@Assited long id, @Assisten String name, ServiceA serviceA, ServiceB serviceB) 還有的AFactory: public interface AFactory{ A create(long id, String name); } 所以創建的實例AI

    1熱度

    1回答

    我在我的應用程序中使用了guice框架。我有一個場景,其中一個類可能需要具有相同接口C的多個實例(但出於不同目的),如示例中所示。我正試圖用guice中的註釋工具來解決這個問題。 如下面的例子所示,我希望ConcreteImpl的配置也被guice注入。但問題是type1,type2和type3實例的配置可能不同。假設我擁有這些實例的配置,是否有一種方法可以根據請求配置的實例的上下文(由註釋表示)

    2熱度

    1回答

    我正在使用Guice和FactoryModuleBuilder。通常,只需定義工廠的界面就足夠了,Guice將自動注入實施。 但是,我掙扎的部分是工廠中的方法使用泛型。假設我有以下幾點。由接口定義的構造實例的基本類型。 interface Foo<T> { T get(); } 並且Foo接口的兩個實現由以下兩個類定義。 class FooA<T> implements Foo<T

    0熱度

    1回答

    創建obejcts我應該在兩種不同的方式注入了一類: 通用的單 定製版本RequestScoped。 例子: public class TaskProcessorService implements TaskProcessor { private final TaskRegistry taskRegistry; @Inject public TaskProcessor

    -1熱度

    1回答

    我閱讀了幾個教程和手冊,但它們都跳過了我實際需要的部分,這是您運行這些東西的實際部分。 我的場景如下。 我有一個Connection接口: public interface Connection { void open(Selector selector); void send(NetMessage message); } 我有一個生產的實現,需要一個SocketFact

    10熱度

    1回答

    我遇到AssistedInject問題。我跟着這個鏈接 https://github.com/google/guice/wiki/AssistedInject 上的說明,但是當我運行我的應用程序,我得到一個錯誤: ERROR [2015-04-23 14:49:34,701] com.hubspot.dropwizard.guice.GuiceBundle: Exception occurred

    0熱度

    1回答

    假設我有一個類,如下所示: public class ComplicatedImpl implements Complicated { @Inject public ComplicatedImpl(Integer normal, @Assisted String assisted); public void addListener(Listener listener