gpt4 book ai didi

scala - Guice 可以注入(inject) Scala 对象吗

转载 作者:行者123 更新时间:2023-12-03 11:56:29 25 4
gpt4 key购买 nike

在 Scala 中,我可以使用 Guice注入(inject) Scala object年代?

例如,我可以注入(inject) s在以下对象中?

object GuiceSpec {
@Inject
val s: String = null

def get() = s
}

最佳答案

对 Google 的一些研究表明,您可以通过以下方式完成此操作(下面的代码是 ScalaTest 单元测试):

import org.junit.runner.RunWith
import org.scalatest.WordSpec
import org.scalatest.matchers.MustMatchers
import org.scalatest.junit.JUnitRunner
import com.google.inject.Inject
import com.google.inject.Module
import com.google.inject.Binder
import com.google.inject.Guice
import uk.me.lings.scalaguice.ScalaModule

@RunWith(classOf[JUnitRunner])
class GuiceSpec extends WordSpec with MustMatchers {

"Guice" must {
"inject into Scala objects" in {
val injector = Guice.createInjector(new ScalaModule() {
def configure() {
bind[String].toInstance("foo")
bind[GuiceSpec.type].toInstance(GuiceSpec)
}
})
injector.getInstance(classOf[String]) must equal("foo")
GuiceSpec.get must equal("foo")
}
}
}

object GuiceSpec {
@Inject
var s: String = null

def get() = s
}

这假设您使用 scala-guiceScalaTest .

关于scala - Guice 可以注入(inject) Scala 对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13791815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com