我正在尝试使用@Inject批注在Java中进行依赖项注入,并且正在遵循此link中的教程。根据教程,我创建了以下内容。

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,请看一下here。 (这是使用参考CDI实现,Weld)

09-11 18:32