Scala I-绑定到单个/多个实例
我最近从SubCut切换到了Bulthi,我发现有一个未记录/缺少的功能: 在SubCut中,当您定义绑定时,您可以-Scala I-绑定到单个/多个实例,scala,scaldi,Scala,Scaldi,我最近从SubCut切换到了Bulthi,我发现有一个未记录/缺少的功能: 在SubCut中,当您定义绑定时,您可以-toSingle,toProvider,ToModuleInstanceof,toModuleSingle,它们决定是一次创建注入实例,还是每次执行绑定时创建注入实例。我看不到在中明确定义的类似行为,因此我想确保我了解如何在中实现不同的行为: 默认情况下,to方法是惰性的,并在第一次“请求”注入实例时创建该实例。有一个toNonLazy,我想它甚至在第一次“请求”实例之前就创建了
toSingle
,toProvider
,ToModuleInstanceof
,toModuleSingle
,它们决定是一次创建注入实例,还是每次执行绑定时创建注入实例。我看不到在中明确定义的类似行为,因此我想确保我了解如何在中实现不同的行为:
默认情况下,to
方法是惰性的,并在第一次“请求”注入实例时创建该实例。有一个toNonLazy
,我想它甚至在第一次“请求”实例之前就创建了实例。还有一个toProvider
,在下面的示例中
bind [Widget] toProvider new ParticularWidget()
…将创建一个新的特殊Widget
,每次将其注入可注入的中
我理解正确吗?是的,它的工作原理与您描述的完全相同。如果绑定是用toProvider
定义的,那么inject将始终创建新实例
您可以在此规范中看到其行为:
更新
您可以在文档中找到更多信息: