我目前正在探索在Play2.2應用程序中使用Scaldi進行依賴注入。Scaldi依賴注入和Akka Actor
我已閱讀Scaldi網站上的文檔,但我不清楚的是如何將它與Akka一起使用。
我至今在我的項目:
Models/ (Daos and case classes)
User.scala
Services/ (Akka Actors)
UserService.scala
ProfileService.scala
Managers/ (Regular Manager Classes)
UserManager.scala (The Trait Interface)
UserManagerImpl.scala (An actual implementation)
UserManagerMock.scala (Mocked version)
etc..
在UserService.scala我會使用的UserManager的實例做的工作:
class UserService extends ServiceActor with Injection
{
val userManager = inject[UserManager]
def receive = {
case Register(email: String, password: String)
}
}
object UserService extends Service
{
case class Register(email: String, password: String)
override protected val actorRef = Akka.system.actorOf(Props[UserService].withRouter(SmallestMailboxRouter(resizer = Some(resizer))))
}
然後取決於注入經理,如果將所有的工作委託給經理,這位演員可以被嘲笑嗎?
但是,如果經理需要調用其他服務,它們只是伴侶對象呢?或調用其他服務的服務也是通過隨播對象引用的?
有沒有人有一些關於如何將Akka與Scaldi整合的指針?