Dan*_*nix 8 scala url-routing playframework playframework-2.4
我正在使用Play 2.4.我想用我自己的类替换默认路由器,使用新的动态依赖注入播放功能.这样做的步骤是什么?
一种可能的解决方案是创建一个新的 Guice 模块,以绑定您的新路由器:
class RouterModule extends AbstractModule {
override def configure(): Unit = {
bind(classOf[Router]).to(classOf[CustomRouter])
}
}
Run Code Online (Sandbox Code Playgroud)
然后定义一个新的应用程序加载器,它将使用新创建的模块覆盖默认配置的路由器:
class MyApplicationLoader extends GuiceApplicationLoader with GuiceableModuleConversions {
override protected def overrides(context: Context): Seq[GuiceableModule] = {
Seq(fromGuiceModule(new RouterModule)) ++ super.overrides(context)
}
}
Run Code Online (Sandbox Code Playgroud)
并在 application.conf 中使用新创建的应用程序加载器,而不是默认的应用程序加载器:
play.application.loader = "de.zalando.store.pdp.modules.MyApplicationLoader"
Run Code Online (Sandbox Code Playgroud)