Wud*_*ong 4 java dependency-injection guice
我有一个接口A,一个B类工具A.
但是,B的构造函数看起来像:
     public class B (C c){}
其中C是第三方库类,只能在引导程序之后创建.我希望B成为一个单身人士.
我发现很难在Guice中实现它.我知道我可以使用辅助注射器来做到这一点:
    public class B (@Assisted C c){}
    public AFactory {
          public A createA(C c);
    }
但它看起来辅助注射器canot产生一个单例实例.
任何想法如何实现这个?
谢谢.
如您所知,您不能使用辅助注射来创建单身人士.辅助注入适用于需要编程参数的实例,而单例不是以编程方式创建的.
除非你asEagerSingleton()在模块中调用绑定,否则懒惰构造单例.所以你可以简单地将C注入到B中,并且在创建guice注入器之后将创建C的实例.如果更多地涉及C的创建,请创建C的提供者并将其绑定在您的模块中.