我有一个maven多模块项目。当尝试访问注入的bean时,我得到Nullpointer异常。
这是启动应用程序的主要功能
public class App {
public static void main(String[] args) {
System.out.println("Startpoint");
DecisionMaker decisionMaker = new DecisionMaker();
decisionMaker.run();
}
}
这就是我在DecisionMaker中所做的事情
public class DecisionMaker {
@Inject
GameListener gm;
@Inject
BasicProductionManager basicProductionManager;
public DecisionMaker() {
System.out.println("this is the decisionmaker");
System.out.println(gm.toString());
}
所以这不是一个bean而是一个普通的pojo
gamelistener是一个我想要注入的Applicationscoped bean。
@Named
@ApplicationScoped
public class GameListener extends DefaultBWListener {
@Inject
Event<OnFrameEvent> onFrameEvent;
public Mirror mirror = new Mirror();
public Game game;
public Player self;
@PostConstruct
public void init() {
System.out.println("init listener");
}
nullpointer会在DecisionMaker的构造函数中抛出。 @PostConscrutct初始化方法未被调用
我调查了类似的问题,但我发现只需要我已经拥有的PostConstruct方法。