【发布时间】:2017-02-10 06:47:08
【问题描述】:
比问题清楚一点。我想在对象内部使用该类的任何地方都获得该类的相同实例。我在整个项目中使用谷歌 guice。这是一个更好地解释的例子。
@Singleton class A {
C c;
D d;
@Inject public A(C c, D d){
this.c = c;
this.d = d;
}
}
class B {
Map<Integer,String> hashmap = new Hashmap<>();
public String getInfo(Integer number){
return hashmap.get(number);
}
}
@Singleton class C {
Class B;
@Inject public C( B b){
this.b = b;
}
}
@Singleton class D {
Class B;
@Inject public D(B b){
this.b = b;
}
}
所以每次创建一个新的A。我希望 A 的 C 和 D 共享相同的 B ,但我不希望所有 A 共享一个 B 。 C 和 D 也被注入到构造函数中,并且 A 是一个单例。
【问题讨论】:
标签: dependency-injection guice