在我的自定义类中播放框架,配置参数注入。

时间:2016-09-21 07:57:30

标签: scala playframework

是否有另一种方法,而不是使用Controller的子类从注入的Play Framework池数据库参数db中受益?

这是Documentation建议的内容:

class ScalaControllerInject @Inject()(db: Database) extends Controller {

  def index = Action {
    var outString = "Number is "
    val conn = db.getConnection()

    ...

    Ok(outString)
  }

}

但是我想让另一个类查询数据库。这是因为我没有使用Controller类的子类:我正在使用websocket Actor。

这是我想要的目标:

object MyWebSocketActor {
  def props(out: ActorRef) = Props(new MyWebSocketActor(out))
}

class MyWebSocketActor(out: ActorRef) extends Actor {

  val gson = ToolSingleton.getInstance().getGsonTool()

  def receive = {
    case msg: String => {
        val dbm=(new DbManager(...  )). query(msg)
      }

    }

}

class DbManager @Inject()(db: Database) extends /* ? */ {

  def query(s : String) {
    var outString = "Number is "
    val conn = db.getConnection()

    ...

  }

}

我应该如何扩展DbManager以使用我的演员MyWebSocketActor的函数查询?

0 个答案:

没有答案