vì Play Framework 2.4 có khả năng sử dụng tiêm phụ thuộc (với Guice).Play Framework: Dependency Inject Action Builder
Trước khi tôi sử dụng các đối tượng (ví dụ AuthenticationService
) trong ActionBuilders tôi:
object AuthenticatedAction extends ActionBuilder[AuthenticatedRequest] {
override def invokeBlock[A](request: Request[A], block: (AuthenticatedRequest[A]) => Future[Result]): Future[Result] = {
...
AuthenticationService.authenticate (...)
...
}
}
Bây giờ AuthenticationService
không phải là một đối tượng nữa, nhưng một lớp. Tôi vẫn có thể sử dụng số AuthenticationService
trong số ActionBuilder
của mình như thế nào?
Tôi cần thêm 'val' trước khi 'authService' trong' MyController' nếu không compilator phàn nàn rằng phương pháp authService không được định nghĩa – Isammoc
này không làm việc cho tôi với một val hoặc def, nói rằng lớp điều khiển cần phải được trừu tượng bởi vì def/val không được xác định – Daniel