有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带继承的java Guice注入(注入公共参数)

我目前有一个设置,其中定义了一个基础抽象类,该类接受一个参数,该参数在所有实现中应该相同,但其他参数不同。例如:

public abstract class A {

    A(String string1, String string2, Clock clock) {
       // initialize vars
    }
}

public class B extends A {

    @Inject
    B(Clock clock) {
        super("value1", "value2", clock)
    }
}

public class C extends A {

    @Inject
    C(Clock clock) {
        super("value3", "value4", clock)
    }
}

现在,理想情况下,我不必在每个实现中都像这样注入时钟,而可以以某种方式将其注入基类。我想知道是否有一种方法可以使用辅助注入,但由于我正在扩展类,我认为这不起作用

我考虑的另一件事是在Class A内创建一个名为Params的私有子类,然后将Clock注入该构造函数。我不太喜欢现场注射,所以我想知道是否有更好的方法


共 (0) 个答案