如何在Play 2.5中激活循环依赖?

时间:2016-05-08 14:42:56

标签: scala playframework guice webjars playframework-2.5

这个问题来自我两天前问过的question。我实现了自己的错误处理程序,扩展了DefaultHttpErrorHandlerDefaultHttpErrorHandler扩展了HttpErrorHandlererrorHandler: HttpErrorHandler也用作WebJarAssets类中的参数disableCircularProxies(false)。首先我认为我的设计存在缺陷,但是James Ward评论说似乎我正在做正确的事情

长话短说,我需要知道如何激活循环依赖。不幸的是,Play documentation中没有列出示例代码,因此我不知道应该在哪里设置public function orders() { return $this->belongsToMany('App\Order'); }

1 个答案:

答案 0 :(得分:6)

您需要自定义GuiceApplicationLoader,如:

import play.api.ApplicationLoader
import play.api.inject.guice.{GuiceApplicationLoader, GuiceApplicationBuilder}

class CustomApplicationLoader extends GuiceApplicationLoader {
  override protected def builder(context: ApplicationLoader.Context): GuiceApplicationBuilder = {
    super.builder(context).disableCircularProxies(false)
  }
}

告诉Play在application.conf中使用它:

play.application.loader = "CustomApplicationLoader"

完整代码示例: https://github.com/webjars/webjars-play/tree/cicular-deps