В Play 2.5.X нам нужно использовать инъекцию зависимостей. Следующий пример - пример игровой документации:
class HomeController @Inject() (configuration: play.api.Configuration) extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
Если я определяю некоторый дополнительный вспомогательный метод getXXX
в HomeController
и нужен получить к нему доступ из другого места , как я могу получить доступ к этому методу?
Мне действительно интересно, как создать экземпляр, HomeController
чтобы я мог использовать homeControllerInstance.getXXX
.
Если я попытаюсь создать экземпляр, например:
val homeControllerInstance = new HomeController()
Я получаю ошибку:
Compilation error[not enough arguments for constructor HomeController: (configuration: play.api.Configuration)HomeController
Я попытался изменить HomeController
объявление класса:
class HomeController @Inject(configuration: play.api.Configuration) extends Controller
Но это дало мне ошибку:
classfile annotation arguments have to be supplied as named arguments
Может кто-нибудь объяснить, как я могу это исправить?
scala,playframework,playframework-2.0,