2016-05-17 162 views
4

我正在使用Play框架2.5,並嘗試在我的控制器中使用的scala對象中注入WSClient。在scala對象中注入

import play.api.libs.concurrent.Execution.Implicits.defaultContext 

    object MyObject { 

     @Inject 
     var ws: WSClient = null 

     def doSomething() = { // use wsclient } 

    } 

我在幾個控制器中使用MyObject,並在調用doSomething()時wsclient爲null。

回答

1

可以定義爲MyObject類,後來它注入到其他類

class MyObject @Inject()(ws: WSClient) { 
    def doSomething() = { // use wsclient } 
} 

class OtherClass @Inject()(mo: MyObject) { 
    mo.doSomething 
} 
+4

這是不可能的對象?我必須定義一個班級? – jerome

+0

根據我的知識注入對象只有在播放模塊啓動時纔可能http://stackoverflow.com/questions/13791815/can-guice-inject-scala-objects – mgosk