java中的依赖注入
我尝试使用@Inject注释在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
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的,您正在编写一个独立的程序。这是两个不同的主题。