播放 Slick Global Lookup setup deprecated 消息

Play Slick Global Lookup setup deprecated message

Play Slick documentation所述,可以通过全局查找获取 DatabaseConfig 对象:

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

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

[warn] C:\myapp\app\test\Test.scala:28: method current in object Play is deprecated: This is a static reference to application, use DI instead

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

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

@Singleton
class DbAccessPlayConfig @Inject()(dbConfigProvider: DatabaseConfigProvider) {
  val dbConfig = dbConfigProvider.get[JdbcProfile]
}