具有继承的Guice注入(注入通用参数)

时间:2016-09-20 03:45:06

标签: java guice constructor-injection

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

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 个答案:

没有答案