注入DatabaseConfigProvider
您通過全局查找使用DatabaseConfig,像
val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
...
val dbConfig = DatabaseConfigProvider.get[JdbcProfile]("<db-name>")(Play.current)
同樣可以用DatabaseConfig通過依賴注入(與發揮2.5.X)來完成:
class Application @Inject()(dbConfigProvider: DatabaseConfigProvider) extends Controller {
val dbConfig = dbConfigProvider.get[JdbcProfile]
...
class Application2 @Inject()(@NamedDatabase("<db-name>") dbConfigProvider: DatabaseConfigProvider) extends Controller {
如果你想使用它您需要通過那裏注入數據庫配置,或者您可以通過注入器本身,然後從中獲取數據庫配置,如
class UserRepo(implicit inj: Injector) extends HasDatabaseConfig[JdbcProfile] with Injectable {
override protected val dbConfig: DatabaseConfig[JdbcProfile] = inject[DatabaseConfigProvider].get[JdbcProfile]
...
}