我正在将 Scala Play 应用程序迁移到 2.5,并且目前正在将我的组件移动到依赖注入(inject)。还有一个地方我不知道该怎么做。我在伴随对象中定义了一个 PathBindable 隐式转换:
object Task {
implicit def pathBindable(implicit stringBinder: PathBindable[String]) =
new PathBindable[Task] {
...
}
}
PathBindable 的实现需要从存储库中查找对象,但是我还没有找到一种方法来依赖注入(inject)存储库。作为一种解决方法,我正在使用现已弃用的 Play 对象:
val tasks = Play.application(Play.current).injector.instanceOf[TasksRepository]
任何想法如何正确解决这个问题?
最佳答案
According to Lightbend Engineer Greg Methvin , PathBindables 应该只依赖于路径中的状态。原因是代码runs on the IO thread因此应该快速而不是阻塞。
关于scala - 使用依赖注入(inject) Play Framework PathBindable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36422378/