如Play Slick documentation中所述,可以通过Global Lookup获取DatabaseConfig对象:
val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
但是我收到以下编译警告,指出current
已被弃用,我应该使用DI代替:
[warn] C:\ myapp \ app \ test \ Test.scala:28:方法 不推荐使用对象Play中的当前值:这是对它的静态引用 应用程序,改用DI
我是否被迫使用DI而不是全局查询?使用弃用警告,数据库连接可以正常工作。
答案 0 :(得分:1)
要么实际注入Play应用程序(并将其作为参数传递给你)或更好,请注入DatabaseConfigProvider
本身 - 这样就不需要应用程序:
@Singleton
class DbAccessPlayConfig @Inject()(dbConfigProvider: DatabaseConfigProvider) {
val dbConfig = dbConfigProvider.get[JdbcProfile]
}