Java @注入不';注射物体时,NPE似乎不起作用

Java @注入不';注射物体时,NPE似乎不起作用,java,dependency-injection,nullpointerexception,jersey,hk2,Java,Dependency Injection,Nullpointerexception,Jersey,Hk2,我已经为这个问题挣扎了一段时间,所以我来到这里与大家分享。 首先,我有一个类,我想在其中注入一个对象: public class MyClass { @javax.inject.Inject private MyInterface interface /.../ public void myMethod(){ interface.doTask(); } MyInterface: public interface MyInterface { public abstra

我已经为这个问题挣扎了一段时间,所以我来到这里与大家分享。 首先,我有一个类,我想在其中注入一个对象:

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()

所以我想问题可能就在那里。

所以我想出来了! 我正在创建myClass=>
new myClass()
的新实例,因此注入无法工作! 因此,我注入了MyClass(),而不是创建一个新实例,并将其绑定到ApplicationConfig中。
这很好。

这里ResourceConfig的实现是什么?这是在泽西岛吗?你好,是的,这是在泽西岛。