8

我正在使用播放 2.4。我想使用新的动态依赖注入播放功能用我自己的类替换默认路由器。这样做的步骤是什么?

4

1 回答 1

4

一种可能的解决方案是创建一个新的 Guice 模块,以绑定您的新路由器:

class RouterModule extends AbstractModule {

  override def configure(): Unit = {
    bind(classOf[Router]).to(classOf[CustomRouter])
  }
}

然后使用新创建的模块定义一个新的应用程序加载器,它将覆盖默认配置的路由器:

class MyApplicationLoader extends GuiceApplicationLoader with GuiceableModuleConversions {

  override protected def overrides(context: Context): Seq[GuiceableModule] = {
    Seq(fromGuiceModule(new RouterModule)) ++ super.overrides(context)
  }
}

并在 application.conf 中使用新创建的应用程序加载器,而不是默认的:

play.application.loader = "de.zalando.store.pdp.modules.MyApplicationLoader"
于 2015-05-22T14:52:29.330 回答