在scala对象中注入

jer*_*ome 8 scala guice playframework

我正在使用Play framework 2.5并尝试在我的控制器中使用的scala对象中注入WSClient.

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

    object MyObject {

        @Inject
        var ws: WSClient = null

        def doSomething() = { // use wsclient }

    }
Run Code Online (Sandbox Code Playgroud)

我在几个控制器中使用MyObject,当调用doSomething()时,wsclient为null.

mgo*_*osk 5

您应该定义MyObject为类并向其注入 wsclient:

class MyObject @Inject()(ws: WSClient) {
    def doSomething() = { /* use wsclient */ }
}
Run Code Online (Sandbox Code Playgroud)

  • 对象不可能吗?我必须定义一个类? (9认同)