scala - 使用依赖注入(inject) Play Framework PathBindable

标签 scala playframework dependency-injection playframework-2.0 playframework-2.5

我正在将 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/

相关文章:

java - 创建日期范围 Scala、Joda、Java

java - Play Framework 1 hibernate 集成

c# - 具体的服务应该依赖于具体的存储库或接口(interface)吗?

java - Flink 原始和托管声明。何时使用它们?

scala - 惰性字段的序列化如何工作?

scala - 如何声明必须返回其参数之一的函数的签名? (任何语言*)

playframework - Play Framework 2.3 如何重置数据库?

mysql - 使用 mysql 驱动程序处理 GAE 应用程序中的外部 mysql 数据库

java - Spring Boot 没有在 Jersey 的 ResourceConfig 类中设置 @Value 属性

dependency-injection - 帮助开始使用 MEF