如果我想每次都创建一个注入类的新实例,我该怎么办?以下是我要做的示例:
class Jet
{
List<Missile> mAllMissiles;
//
// make a new missile, and add it to the table.
//
void fireMissile()
{
Missile missile = new Missile();
missile.doSomething();
mAllMissiles.add(missile);
}
}
现在,我可以注射导弹,但每次都不是同一枚导弹吗?这是我需要注入提供者的情况吗?
http://code.google.com/p/google-guice/wiki/InjectingProviders
或者有不同的方法吗?
感谢。
答案 0 :(得分:1)
是的,注入Provider<Missile>
。如果您可以注入X
,则可以注入Provider<X>
,反之亦然。注入提供者是从注入器请求类的多个实例的最佳方式。