1

Play Slick 文档中所述,可以通过 Global Lookup 获得 DatabaseConfig 对象:

val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)

但是,我收到以下编译警告,指出current已弃用,我应该改用 DI:

[警告] C:\myapp\app\test\Test.scala:28: 对象 Play 中的当前方法已弃用:这是对应用程序的静态引用,请改用 DI

我是否被迫使用 DI 而不是全局查找?随着弃用警告,数据库连接工作正常。

4

1 回答 1

1

要么实际注入 Play 应用程序(并像你一样将其作为参数传递),要么更好地注入DatabaseConfigProvider自身 - 这样它就不需要应用程序:

@Singleton
class DbAccessPlayConfig @Inject()(dbConfigProvider: DatabaseConfigProvider) {
  val dbConfig = dbConfigProvider.get[JdbcProfile]
}
于 2016-12-02T12:59:12.537 回答