play framework 2.5 中的 ScalaWS 和自定义中 WSClient 的依赖注入 class

ScalaWS in play framework 2.5 and dependency injection of WSClient in custom class

我正在使用 Scala Play 框架 2.5,我想使用依赖注入将 WSClient 实例注入我的自定义 class,但我不断收到以下错误。

not enough arguments for constructor TestClass: (ws: play.api.libs.ws.WSClient)service.TestClass. Unspecified value parameter ws.

当运行以下代码

时出现错误
class TestClass @Inject() (ws: WSClient) {
  def doSomething() : Future[WSResponse] = {
    ws.url("http://www.google.com").get()
  }
}

val test = new TestClass()
val f = test.doSomething()
val result = Await.result(f, Duration.Inf)

println("doSomething: " + result)

谁能帮我解决这个试图将 wsclient 依赖项注入自定义 class 的问题?

提前致谢

弗朗西斯

这一行:

val test = new TestClass()

它没有使用 Play 提供的依赖注入支持。您正在手动 创建 TestClass 的实例。我真的建议您阅读以下文档页面:

PlayFramework: Scala Dependency Injection

基本上,在使用运行时依赖注入时,您不需要手动创建实例。您让 DI 框架为您完成这项工作。但是,如果您对编译时依赖注入感兴趣,请参阅以下页面:

PlayFramework: Compile Time Dependency Injection