Я использую Guice с Java Play Framework.
У меня простой командный интерфейс, и разработчик, созданный в Java, выглядит так:
public interface ICommand {
public void test();
}
И разработчик
public class CommandImpl implements ICommand {
@Override
public void test() {
System.out.println("test");
}
А затем класс привязки для @Inject:
public class ICommandModule extends AbstractModule{
@Override
protected void configure() {
bind(ICommand.class).to(CommandImpl.class);
}
}
Когда я пытаюсь выполнить команду следующим образом:
@Inject
private static ICommand Command;
public static void index() {
Command.test();
render();
}
я получаю эти ошибки:
Из веб-браузера:
Execution exception
NullPointerException occured : null
с консоли:
Execution exception (In /app/controllers/Application.java around line 27) NullPointerException occured : null
play.exceptions.JavaExecutionException
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:231)
at Invocation.HTTP Request(Play!)
Caused by:
java.lang.NullPointerException
at controllers.Application.index(Application.java:27)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:548)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:502)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:478)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:473)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161) ... 1 more
Спасибо за помощь!