Playframework 播放Slick全局查找设置不推荐的消息
如DatabaseConfig中所述,可通过全局查找获得对象:Playframework 播放Slick全局查找设置不推荐的消息,playframework,slick,playframework-2.5,slick-3.0,play-slick,Playframework,Slick,Playframework 2.5,Slick 3.0,Play Slick,如DatabaseConfig中所述,可通过全局查找获得对象: val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current) 但是,我收到以下编译警告,指出current已被弃用,我应该改用DI: [警告]C:\myapp\app\test\test.scala:28:method 不推荐当前的对象播放:这是对的静态引用 应用程序,请改用DI 我是否被迫使用DI而不是全局查找?在出现弃用警告的情况下,数据库连接工作正常
val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
但是,我收到以下编译警告,指出current
已被弃用,我应该改用DI:
[警告]C:\myapp\app\test\test.scala:28:method
不推荐当前的对象播放:这是对的静态引用
应用程序,请改用DI
我是否被迫使用DI而不是全局查找?在出现弃用警告的情况下,数据库连接工作正常。要么注入实际播放的应用程序(并像您那样将其作为参数传递),要么更好,注入
DatabaseConfigProvider
本身-这样它就不需要应用程序:
@Singleton
class DbAccessPlayConfig @Inject()(dbConfigProvider: DatabaseConfigProvider) {
val dbConfig = dbConfigProvider.get[JdbcProfile]
}
Play。当前的
将随Play 2.6一起删除。我应该如何使用全局查找?我想这是同一个方向:我没有使用akka演员。我是被迫使用注射剂吗?你是被迫以这样或那样的方式通过引用。依赖注入是一种方法。我可以从多个线程访问dbConfig(您在单例中定义的那个)吗?在这种情况下,应该如何管理并发性?我想大多数情况下,您使用DbConfig
所做的基本上就是从中获取db
(无论如何,这需要是线程安全的)db
字段只是val
内部,所以应该是安全的。