java中的依赖注入

java中的依赖注入,java,dependency-injection,javax-inject,Java,Dependency Injection,Javax Inject,我尝试使用@Inject注释在java中进行依赖项注入,并遵循本教程的内容。根据教程,我创建了以下内容 import javax.inject.Inject; public class GreetingBean { @Inject private static HelloBean helloBean; // @Inject // public GreetingBean(HelloBean helloBean){ // this.helloBean = helloBean

我尝试使用@Inject注释在java中进行依赖项注入,并遵循本教程的内容。根据教程,我创建了以下内容

import javax.inject.Inject;

public class GreetingBean {


@Inject private static HelloBean helloBean;

//  @Inject
//    public GreetingBean(HelloBean helloBean){
//      this.helloBean = helloBean;
//    }

public static void sayGreeting(){
    helloBean.sayHello();
}

public static void main(String[] args) {
    GreetingBean.sayGreeting();
}
} 
HelloBean类如下所示

public class HelloBean {

public void sayHello(){
    System.out.println("Hello user");
}
}

在执行时,我得到了一个空指针异常,这很明显,因为helloBean没有初始化。根据我从教程中了解到的,@Inject应该会处理这个问题。我觉得我必须做更多的事情来完成这项工作,但我找不到任何参考资料。有人能帮我解决这个问题吗。

如果你想在标准Java应用程序中使用CDI,请看一看。(这是使用参考CDI实现Weld)

您正在使用常规的旧
main
运行应用程序。您需要一个负责依赖注入的CDI容器……这篇文章是关于JavaEE的,您正在编写一个独立的程序。这是两个不同的主题。