标签: scaldi

比较Subcut和Scaldi

我正在看SubCutScaldi在我的项目中使用.各自的入门文档中提供的示例看起来非常相似.这两个项目似乎都没有提供Getting Started和scala docs 之外的文档.

有人可以总结这些框架之间的实际差异,主要是在特征和成熟度/稳定性方面.我正在研究这些包,因为我需要能够在运行时动态创建和组合配置.运行时配置是我查看这些库而不是使用implicits和/或层蛋糕模式进行DI /配置的主要原因,因此运行时配置工具对我来说是最重要的.另外我不认为编译器插件对我来说是一个选项,但是这两个库都可以在没有各自插件的情况下使用,而且冗长度只有很小的增加.我现在在scala-2.9.2上.

我也对直接在Scala中进行运行时DI /配置的建议感兴趣,但是将我的整个项目转换为monadic样式对我来说也不是一个选项.

configuration dependency-injection scala subcut scaldi

19
推荐指数
1
解决办法
2082
查看次数

Scala中的隐式抽象类构造函数参数和继承

我是Scala的新手,并且一直在努力学习和理解隐式转换和参数,并遇到了一个令我感到困惑的场景.

对于上下文,我使用Scaldi在Akka应用程序中执行依赖注入,并希望有多个可注入的actor从抽象类继承.我相信我无法使抽象类成为一个特征,因为我们需要Injector通过构造函数参数使隐式可用来利用框架.

展示我所看到的行为的一个非常人为的例子如下:

class SecretSauce {}

abstract class Base(implicit secretSauce: SecretSauce) {}

class Concrete extends Base {}

object Example extends App {
    ... // Setup Actor system, etc, etc
    implicit val secretSauce: SecretSauce = new SecretSauce()
}
Run Code Online (Sandbox Code Playgroud)

我期待一些工作,但我得到一个编译错误:

Unspecified value parameter secretSauce.
class Concrete extends Base {
             ^
Run Code Online (Sandbox Code Playgroud)

如果我将隐式参数添加到具体类中,就像这样,事情可行:

class Concrete(implicit secretSauce: SecretSauce) extends Base {}
Run Code Online (Sandbox Code Playgroud)

我认为我的困惑源于隐式参数如何工作 - 在我所描述的情况下,它们是不是由子类继承的?有人可以ELI5在我的例子中发生了什么或指向我可以帮助清理的参考?

谢谢!

scala implicit scaldi

7
推荐指数
1
解决办法
2098
查看次数

Scaldi和Guice有什么区别

我现在正在一个使用Scaldi的项目中工作,我正在学习它,并且到目前为止看起来很好,但我仍然没有弄清楚它提供的指导/果汁的实际功能.

两个框架之间的实际差异是什么?

Scaldi更具功能性吗?

如果我从一个移动到另一个,我会失去/获得什么?

dependency-injection scala guice scaldi

5
推荐指数
1
解决办法
309
查看次数

如果我们使用特定的数据源,如何在Play Framework(Scala,Scaldi)中注入数据库?

我想在我的play框架项目中使用Anorm作为DB库,将Scaldi作为DI.但是现在我无法注入数据库,因为在最新的游戏框架中,我们不能再使用DB.getConnection("datasource")了.

你们中的任何人都可以解释如何将NamedDatabase告知scaldi环境?

顺便说一句,这是我的代码snipet如何在Play scala中使用NamedDatabase.

class MembershipSqlStorage @Inject() (@NamedDatabase("membership") db: Database)
Run Code Online (Sandbox Code Playgroud)

它的工作原理.

谢谢

database dependency-injection playframework scaldi

5
推荐指数
1
解决办法
438
查看次数