我正在使用Scala Play framework 2.5,我想使用依赖注入将WSClient实例注入我的自定义类,但我不断收到以下错误。
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依赖项注入自定义类的问题吗?
提前感谢你
弗朗西斯
答案 0 :(得分:3)
这一行:
val test = new TestClass()
它没有使用Play提供的依赖注入支持。您手动创建TestClass
的实例。我真的建议您阅读以下文档页面:
PlayFramework: Scala Dependency Injection
基本上,使用运行时依赖注入时,不要手动创建实例。您让DI框架为您完成工作。但是,如果您对编译时依赖注入感兴趣,请参阅以下页面: