Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala I-绑定到单个/多个实例_Scala_Scaldi - Fatal编程技术网

Scala I-绑定到单个/多个实例

Scala I-绑定到单个/多个实例,scala,scaldi,Scala,Scaldi,我最近从SubCut切换到了Bulthi,我发现有一个未记录/缺少的功能: 在SubCut中,当您定义绑定时,您可以-toSingle,toProvider,ToModuleInstanceof,toModuleSingle,它们决定是一次创建注入实例,还是每次执行绑定时创建注入实例。我看不到在中明确定义的类似行为,因此我想确保我了解如何在中实现不同的行为: 默认情况下,to方法是惰性的,并在第一次“请求”注入实例时创建该实例。有一个toNonLazy,我想它甚至在第一次“请求”实例之前就创建了

我最近从SubCut切换到了Bulthi,我发现有一个未记录/缺少的功能:

在SubCut中,当您定义绑定时,您可以-
toSingle
toProvider
ToModuleInstanceof
toModuleSingle
,它们决定是一次创建注入实例,还是每次执行绑定时创建注入实例。我看不到在中明确定义的类似行为,因此我想确保我了解如何在中实现不同的行为:

默认情况下,
to
方法是惰性的,并在第一次“请求”注入实例时创建该实例。有一个
toNonLazy
,我想它甚至在第一次“请求”实例之前就创建了实例。还有一个
toProvider
,在下面的示例中

bind [Widget] toProvider new ParticularWidget()
…将创建一个新的
特殊Widget
,每次将其注入
可注入的


我理解正确吗?

是的,它的工作原理与您描述的完全相同。如果绑定是用
toProvider
定义的,那么inject将始终创建新实例

您可以在此规范中看到其行为:


更新 您可以在文档中找到更多信息: