2016-04-29 56 views
1

我正在使用Scala播放框架2.5,我想使用依赖注入将WSClient的一个实例注入到我的自定义类中,但我不断收到以下错误。ScalaWS在播放框架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依赖到自定义类这个问题?

请多关照

弗朗西斯

回答

3

这条线:

val test = new TestClass() 

它被不使用的播放提供的依赖注入的支持。您手动创建TestClass的实例。我真的建议您阅读以下文档页:

PlayFramework: Scala Dependency Injection

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

PlayFramework: Compile Time Dependency Injection