当我们做
bind(ClassName).toInstance(new ClassName())
在配置方法中,我们本质上意味着它是默认的“热切初始化的单例”吗?
如果是的话,添加有什么用
bind(ClassName).toInstance(new ClassName()).asEagerSingleton()
最佳答案
无法附加 .asEagerSingleton()
complete signature of toInstance
如下:
void toInstance(T instance)
由于 toInstance(T)
不返回任何内容,因此您无法将其与 .asEagerSingleton()
链接。如果这样做,编译将会失败。
正如您所怀疑的,toInstance
已经是一个急切加载的单例,这就是为什么它是一个链结束方法 (void
),而不是可以被进一步确定范围。
关于java - guice绑定(bind)到实例和asEagersingleton有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55483440/