Inject in scala object

最后都变了- 提交于 2019-12-09 03:08:20

问题


I'm using Play framework 2.5 and try to inject WSClient in a scala object used in my controllers.

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

    object MyObject {

        @Inject
        var ws: WSClient = null

        def doSomething() = { // use wsclient }

    }

I use MyObject in several controllers and when calling doSomething() wsclient is null.


回答1:


You should define MyObject as class and inject wsclient to it:

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


来源:https://stackoverflow.com/questions/37274533/inject-in-scala-object

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!