我的应用程序使用Play 2.4 和 Scala 2.11。我开始转换我现有的代码以使用 Play 2.4 附带的Google Guice。
当我在进行第一组更改后运行我的代码时,我发现我的代码中的一些 DAO 因循环依赖错误而失败。
例如我有两个 DAO
class BookDAO @Inject()
(protected val personDAO : PersonDAO,
@NamedDatabase("mysql")protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
...
...
val personId = //some id
personDAO.get(personId)
}
class PersonDAO @Inject()
(protected val bookDAO : BookDAO,
@NamedDatabase("mysql")protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
...
...
val bookName= //some id
personDAO.getByName(bookName)
}
尝试访问 BookDAO 或 PersonDAO 时出现以下错误
Tried proxying schema.BookDAO to support a circular dependency, but it is not an interface.
at schema.BookDAO.class(Books.scala:52)
while locating schema.BookDAO
有人可以帮我解决这个错误。
提前致谢