Я пытаюсь узнать, как выглядит guice с картой Play 2.1. У меня есть служба, к которой мне нужен доступ за пределами пакета услуг. Я разместил ниже в глобальном файлеPlay 2.1 with Guice 3.0 - Доступ недоступна снаружи Класс контроллера
protected Injector configure() {
injector = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(MyService.class).to(MyServiceImpl.class).in(Singleton.class);
}
});
return injector;
}
@Override
public <A> A getControllerInstance(Class<A> clazz) throws Exception {
return injector.getInstance(clazz);
}
Внутри класс контроллера может добраться до моего объекта, делая ниже, и кажется, что все будет хорошо
@Inject
MyService serviceObj
Но в другом месте за пределами контроллера тот же объект представляется равным нулю. Например, у меня есть основной модуль, который заботится о разговоре с сервисом. Классы контроллеров передают задание основному модулю. Мне нужно иметь возможность получить этот MyService obj в основных классах модулей.
Что мне не хватает здесь, ребята?
Благодаря Karthik
Это, похоже, больше не работает в Play 2.4. Вы знаете, что случилось с этой функцией? Я пытаюсь заставить Injection Dependency работать вне контроллеров в 2.4.x –