我有一个接口,A和B类实现A.吉斯辅助注射用单范围
然而,B的构造函数的样子:
public class B (C c){}
其中C是THRID党库类,只能在引导后创建。 ,我想B是一个单身人士。
我发现很难在Guice中实现它。我知道我可以使用辅助喷射器来做到这一点:
public class B (@Assisted C c){}
public AFactory {
public A createA(C c);
}
但它看起来辅助注射器canot产生一个单例实例。
任何想法如何实现?
谢谢。
感谢您的回答。但正如我所说的,在引导之前创建C是不可能的。它仅在应用程序运行时即时创建,尽管C也是一个Singleton。 – Wudong
我想这取决于你的意思是自举。通过Guice,您可以在模块配置时以编程方式进行控制。因此,您可以通过编程等待,直到bootstapping完成,然后配置处理B&C类的模块。 –
为什么不在没有帮助的情况下以旧式编码AFactory?用Guice注入工厂,但手工实现createA。 – ollins