我正在尝试使用@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)