【问题标题】:Scaldi - binding to single/multiple instancesScaldi - 绑定到单个/多个实例
【发布时间】:2014-08-19 04:55:31
【问题描述】:

我最近从 SubCut 切换到 Scaldi,我发现有一个功能没有记录/丢失:

在SubCut中,当你定义一个绑定时,你可以choose between different binding modes - toSingletoProviderto moduleInstanceOftoModuleSingle,决定注入的实例是创建一次,还是每次绑定被执行。我没有看到 Scaldi documentation 中明确定义的类似行为,所以我想确保我了解如何在 Scaldi 中实现不同的行为:

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

bind [Widget] toProvider new ParticularWidget()

...每次注入Injectable 时都会创建一个新的ParticularWidget

我理解正确吗?

【问题讨论】:

    标签: scala scaldi


    【解决方案1】:

    是的,它完全按照您的描述工作。如果绑定是用toProvider 定义的,那么注入总是会创建新的实例。

    您可以在本规范中看到它的行为:

    https://github.com/scaldi/scaldi/blob/master/src/test/scala/scaldi/WordBinderSpec.scala#L100


    更新

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

    http://scaldi.org/learn/#define-bindings

    【讨论】:

      猜你喜欢
      • 2014-11-22
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 2011-05-10
      相关资源
      最近更新 更多