2013-08-22 5 views
1

Я знаю, что игра обеспечивает глобальный # getControllerInstance, чтобы поддерживать guice DI в классе Controller.Play framework 2.1.3 с guice

Но этот способ, по-видимому, работает только для класса Controller, теперь я хочу добавить некоторый из моего класса обслуживания в другой класс (а не контроллер расширения класса). как мне это сделать?

Я Google много и не нашел решение еще ...

+0

Просто используйте обычную инъекцию Guice; рассмотрим эту статью для примера: http://eng.42go.com/play-framework-dependency-injection-guice/ –

+0

привет, nico, эта ссылка описывает способ использования Global # getControllerInstance и настраивает маршруты с @, но это работает только для класса контроллера. – yukuan

+0

привет, nico, tks, я понимаю. – yukuan

ответ

2

После того как вы ваши модули настройки (the blog post linked above is helpful), вы можете просто использовать прямую инъекцию или инъекции конструктора, как обычно, не связанный с Play! , Конструктор Пример впрыска:

class SomeClass @Inject() (dependencyA: DependencyA, userRepo: UserRepo) { 
    // then, use `dependencyA` and `userRepo` 
} 

Затем из внутри контроллера, просто ввести экземпляр SomeClass.

См. scala-guice для лучшего API в Scala для получения изображения.

+0

tks, Andrew, я решил свою проблему. :) – yukuan

Смежные вопросы