带继承的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) 个答案