Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework 播放Slick全局查找设置不推荐的消息_Playframework_Slick_Playframework 2.5_Slick 3.0_Play Slick - Fatal编程技术网

Playframework 播放Slick全局查找设置不推荐的消息

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而不是全局查找?在出现弃用警告的情况下,数据库连接工作正常

如DatabaseConfig中所述,可通过全局查找获得对象:

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
内部,所以应该是安全的。