【发布时间】:2016-02-02 06:50:53
【问题描述】:
我正在尝试使用和理解 CDI,当我在一个简单的 pojo 类中使用 @Inject 时,它会抛出 NPE。
示例 Greeting.java
public Class Greeting {
public String greet() {
System.out.println("Hello");
}
}
Test.java
import javax.inject.Inject;
public class Test {
@Inject
private Greeting greeting;
public void testGreet() {
greeting.testGreet();
}
}
当我调用 testGreet() 时它会抛出 NPE,为什么问候实例为空。 @Inject 添加依赖的方式是否仅用于容器管理的bean? 注意:jar 不是这里的问题。
【问题讨论】:
-
您可以注入 POJO,但要注入的类必须由容器管理(以便在实例化时让容器知道他必须填写
@Inject-annotated 字段)。 -
在其他地方你必须有方法返回带有@Produres 注释的问候