我关注以下使用Google guice的DI 我有B类,其子类B1,B2。所有类都使用默认构造函数。
然后我将绑定类创建为:
public Binding extends AbstractModule{
bind(B1.class);
bind(B2.class);
}
我声明的应用程序类:
public Application{
@Inject
B1 b1;
@Inject
B2 b2;
}
我可以直接使用b1和b2实例,而无需调用new B1()或new B2()。
现在,我在类B中添加了不带参数的构造函数:
public B {
public B(){}
}
然后我不能再使用b1,b2实例,它们为null。
我的问题是:
在不调用“ new”或调用Injector实例的情况下继续b1,b2时,我需要编辑什么?
如果不可能1,那么创建这么多子类B1,B2 ...,B10的实例的正确解决方案是什么?