2
我一直在努力解决这个问题一段时间了,所以我来到这里与大家分享。 首先我有一个类至极我想注入的对象:@inject似乎不起作用NPE
public class MyClass {
@javax.inject.Inject
private MyInterface interface
/.../
public void myMethod(){
interface.doTask();
}
的MyInterface的:
public interface MyInterface {
public abstract void doTask() throws Exception;
}
是一个接口至极我绑定到其实现:
public class MyInterfaceImpl implements MyInterface{
@Inject
public MyInterfaceImpl(...) {
/.../
}
@Override
public void doTask() throws Exception{
/.../
}
在配置:
public class ApplicationConfig extends ResourceConfig {
private Config config = new Config();
public ApplicationConfig() {
super();
register(new MainBinder());
}
private class MainBinder extends AbstractBinder {
@Override
protected void configure() {
bind(MyInterfaceImpl.class).to(MyInterface.class).in(Singleton.class);
}
}
}
所以,当我运行应用程序,并尝试执行方法我有一个NPE:
interface.doTask();
瞧,我很抱歉地问,但我需要对一些帮助,再加上我一直在努力,是尽可能通用,希望它不会影响你的理解。 在此先感谢!
编辑:忘了提,类MyClass的()被调用另一类是这样的:new MyClass()
所以我觉得这个问题可能是在那里。
这里ResourceConfig的实现是什么?这是在泽西岛吗? – jwells131313
你好,是的,这是在泽西岛。 – hhelbawi