java - guice绑定(bind)到实例和asEagersingleton有什么区别

标签 java dependency-injection guice

当我们做

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/

相关文章:

java - 使用Java正则表达式替换行中从特定字符开始的每个字符

java - 使用 TestNG

java - 家庭作业的正则表达式

c# - 映射相同类型的模型以查看实例

c# - 注入(inject)异常类

java - 注入(inject)依赖项的正确方法?

java - 为 SnapLogic 自定义快照设置 JUnit 时出现 java.lang.NoSuchMethodError

java - 在命中 '/login' url 之前未检测到用户已登录

android - 错误 : cannot find symbol class DaggerAppComponent version conflict with other dependencies

java - Guice注入(inject)空指针