【发布时间】:2012-02-14 14:11:45
【问题描述】:
我正在使用带有 java play 框架的 guice。
我有一个简单的命令界面,以及一个用 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
感谢您的帮助!
【问题讨论】:
-
NPE 出现在
app.controllers.Application- 你手头有相关代码吗? -
控制器。应用程序代码是带有@inject 的代码。你是在问这个还是我的问题错了?
标签: java playframework guice