0
在使用Play和Slick最新版本2.4.x和3.0.3分別定義一個簡單的普通SQL DAO的爭鬥中。我有以下幾點:未指定的值參數:dbConfigProvider:DatabaseConfigProvider
import javax.inject.Inject
import play.api.db.slick.{DatabaseConfigProvider, HasDatabaseConfigProvider}
import slick.driver.JdbcProfile
import slick.driver.PostgresDriver.api._
import slick.lifted.TableQuery
import models.Tables._
class BaseDao @Inject() (protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
import driver.api._
val fundQuery = TableQuery[Fund]
}
object BaseDao extends BaseDao { /// <<<<<<<<<< Error here
// empty
}
我上線object BaseDao ...
錯誤Unspecified value parameters: dbConfigProvider: DatabaseConfigProvider
,無法找到如何解決此問題的語法該用例是真正的新給我,有中沒有類似的定義實例等
感謝但DatabaseConfigProvider是通過Play Slick注入的,所以我需要注入某處。基本上真正的答案在於你提供的不完整的「= ...」。 –
@GiovanniAzua嗯,似乎使用'@ Inject'與對象不是(當前)可行 - 請參閱[這個問題的答案](http://stackoverflow.com/questions/31198534/how-plugin-works-例如,用注入和對象代替遊戲中的課程2-4)。建議的解決方法似乎是使用類而不是'@Singleton'註釋。 – Shadowlands
沒有必要創建對象BaseDao,而是您可以創建類Singleton並注入控制器。 Guice負責創建類的一個實例並在運行時注入它。 – Bhavya