当我们做一个bind(ClassName).toInstance(new ClassName())
在configure方法内部,我们实际上意味着默认情况下它是“渴望初始化的单例”吗?
如果是,添加的用途是什么bind(ClassName).toInstance(new ClassName()).asEagerSingleton()
最佳答案
无法附加.asEagerSingleton()
complete signature of toInstance
是以下内容:
void toInstance(T instance)
由于
toInstance(T)
不返回任何内容,因此无法与.asEagerSingleton()
链接。如果这样做,编译将失败。正如您所怀疑的那样,
toInstance
已经是一个渴望加载的单例,这就是为什么它是一个链终止方法(void
)而不是可以进一步范围限制的绑定声明的原因。