首先,很抱歉我无法为我的标题找到更具体的措辞。这是我的代码片段:
public abstract class A {
// dependencies
private Client client;
@Inject
public A(Client client) {
this.client = client;
}
public abstract foo();
protected void bar() {
client.bar();
}
}
public class B extends A {
...
}
public class C extends A {
...
}
我的问题是:既不B
也不C
关心方法是如何boo
在A
. 仅用于A
实现。我不想继续通过and的构造函数注入。我有哪些选择?我想我可以直接在字段声明上使用注释而不是构造函数。这是一个好方法吗?还有其他推荐的方法吗?还是我在这里误解了关于 DI 的一些东西?client
boo
client
B
C
@Inject
client
在此先感谢,巴尔加瓦