问题标签 [scaldi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 比较 Subcut 和 Scaldi
我正在寻找在我的项目中使用的SubCut和Scaldi。他们各自的入门文档中提供的示例看起来非常相似。除了Getting Started和 scala 文档之外,这两个项目似乎都没有提供文档。
有人可以主要在功能和成熟度/稳定性方面总结这些框架之间的实际差异。我正在研究这些包,因为我需要能够在运行时动态创建和组合配置。运行时配置是我查看这些库而不是使用隐式和/或层蛋糕模式进行 DI/配置的主要原因,因此运行时配置工具对我来说是最重要的。此外,我不认为编译器插件对我来说是一个选项,但是这两个库都可以在没有各自插件的情况下使用,而冗长程度只会略有增加。我目前在 scala-2.9.2 上。
我也对直接在 Scala 中进行运行时 DI/配置的建议感兴趣,但是将我的整个项目转换为 monadic 样式也不是我的选择。
scala - Scaldi - 绑定到单个/多个实例
我最近从 SubCut 切换到 Scaldi,我发现有一个功能没有记录/丢失:
在 SubCut 中,当您定义绑定时,您可以在不同的绑定模式之间进行选择- toSingle
、toProvider
、to moduleInstanceOf
、toModuleSingle
,这决定了注入的实例是创建一次,还是每次执行绑定。我没有看到Scaldi 文档中明确定义的类似行为,所以我想确保我了解如何在 Scaldi 中实现不同的行为:
默认情况下,该to
方法是惰性的,并在第一次“请求”时创建注入的实例。apitoNonLazy
中有一个我猜它甚至在第一次“请求”之前就创建了实例。还有一个,在下面的例子中......toProvider
...ParticularWidget
每次注入Injectable
.
我是否正确理解这一点?
scala - Scaldi 依赖注入和 Akka Actors
我目前正在探索在 Play2.2 应用程序中使用 Scaldi 进行依赖注入。
我已经阅读了 Scaldi 网站上的文档,但我不清楚如何将它与 Akka 一起使用。
到目前为止,我的项目中有什么:
在 UserService.scala 中,我将使用 UserManager 的一个实例来完成这项工作:
然后根据注入的经理,如果将所有工作委托给经理,演员可能会被嘲笑?
但是,如果管理器需要调用其他只是伴随对象的服务怎么办?或者服务调用也通过伴随对象引用的其他服务?
有人对如何将 Akka 与 Scaldi 集成有一些指示吗?
scala - Play 2.3 中带有 DI 的托管控制器(Scaladi / Guice)
提前感谢您抽出时间来看看我目前的游戏问题。
我仍在尝试 Playframework,目前是 2.3 版。
目前我试图弄清楚依赖注入。我遵循了激活器中为 guice 和 scaladi 提供的教程,并且总是导致相同的编译器错误:
这让我觉得我错过了 Playframework 的一个更通用的部分,因为这个问题与特定的 DI 框架无关。
因此,让我描述一下我对 scaladi 的尝试(任何带有 guice 的工作解决方案也将不胜感激):
在 conf/routes 中定义路由:
(添加了 @ 以支持自 play 2.1 afaik 起支持的托管控制器)
定义控制器:
在 app\Global.scala 下定义 Global 以修改 GlobalSetting:
最后是 app\modules\ApplicationModule.scala 下的应用模块:
所以我真的很感激任何帮助来弄清楚为什么 Application 类不能位于包控制器中。同样,我会对任何可行的解决方案感到高兴,可能是 guice 或 scaladi。
谢谢!
编辑: 问题是另一个路由的第二个控制器也在“/conf/routes/”下注册。该控制器尚未管理。因此,在我将上面描述的步骤调整到第二个控制器之后,一切正常。
scala - Scaldi 绑定到提供程序函数(带有注入键和值的映射参数)
我正在尝试将此存储库从 Guice 移植到 Scaldi。我在/app/utils/di/SilhouetteModule.scala(第 60-65 行)的代码中堆叠:
这就是我现在的位置
我该怎么做才能像上面的代码一样注入 Map?
Scaldi 可以绑定到函数(如 Guice 中的 @Provides 注释)吗?
谢谢
scala - Scala - 如何将 Option[X] 转换为 Option[y]
我有简单的服务类
使用 scaldi im 将 MockItemService 绑定到 ItemService 然后访问
我想要的是项目的类型是功能而不是项目。功能扩展项目。
akka - 消息转到死信而不是发件人(akka路由器)[scala]
实际上,我无法让我的演员(路由器)系统正常工作。我的设置:
我正在尝试在播放控制器中使用 akka 路由器。对于依赖注入,我使用 scaldi。
斯卡迪模块:
akka路由器:
工人:
当我向路由器发送消息(插入用户消息)时,它被正确路由并且工作人员接收到消息,但是当工作人员将消息发送回发件人时,它无法传递,所以它被发送到死信办公室。我不知道如何解决这个问题。有人可以帮助我吗?
提前致谢
akka - 为什么我不能用 scaldi 绑定到单个参与者实例(akka 路由器)?
我目前正在努力使用 scaldi 进行依赖注入来实现我的 Akka 路由器逻辑。为什么我不能使用 scaldi 绑定到单个 actor 实例,因为我的 actor 是一个路由器,而我只想拥有它的一个实例?我来问这个问题的方式是另一个 stackoverflow entry。
我的 scaldi 模块:
这种方式只创建了一个实例,一旦我多次注入我的路由器,它就会从 sender() 方法中获得一个死信actor作为发送者。
当我将绑定更改为...
...它工作得很好,但每次注入都意味着我的路由器的一个新实例。我对吗?
那么我怎样才能实现只有一个可注入的路由器实例呢?
提前致谢
forms - 是否可以使用 scaldi 依赖注入注入 scala 对象?
是否可以使用 scaldi 依赖注入注入 scala 对象?如果是这样,我怎样才能得到注射器?
我有一个对象 SignUpForm 必须是单例...
...和一个对象约束
这就是问题所在 - > userservice 需要注入,但只要没有作为构造函数参数传递的隐式 Injector 就不能注入(因为我们在这里有一个对象,所以这是不可能的)
... 我怎么解决这个问题?
提前致谢
scala - 使用 scaldi 在 Play 框架中的测试中注入依赖项
我正在寻找一种将依赖项注入测试(在 /tests/models/ 中)的方法,如下所示:
在哪里
/app/modules/WebModule:
/应用程序/全球:
但是在编译时我有以下堆栈跟踪:
可悲的是,我在 Scaldi 文档中没有找到任何关于此事的信息。
有没有办法在测试中注入东西?