Dependency injection 如何在类的任何地方都获得相同的实例';在对象内部使用的
比问题更清楚一点。我希望在对象内部使用类的任何地方都能得到相同的类实例。我在整个项目中都在使用GoogleGuice。这里有一个更好的例子来解释Dependency injection 如何在类的任何地方都获得相同的实例';在对象内部使用的,dependency-injection,guice,Dependency Injection,Guice,比问题更清楚一点。我希望在对象内部使用类的任何地方都能得到相同的类实例。我在整个项目中都在使用GoogleGuice。这里有一个更好的例子来解释 @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 H
@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;
}
}
@Singleton A类{
C C;
D;
@注入公共A(C、C、D){
这个.c=c;
这个。d=d;
}
}
B类{
Map hashmap=新hashmap();
公共字符串getInfo(整数){
返回hashmap.get(number);
}
}
@单亲C类{
乙级;;
@注入公共C(B){
这个.b=b;
}
}
@D类独生子女{
乙级;;
@注入公共D(B){
这个.b=b;
}
}
因此,每次创建一个新的
a
。我希望A
的C
和D
共享相同的B
,但我不希望所有A
共享一个B
。另外,C
和D
也被注入到构造函数中,A是一个单例 您必须定义自己的范围
要做到这一点,请阅读Guice wiki上的页面