我正在尝试实现一个管理数据库属性的单例类。但是,当我尝试注入我的数据库 bean 时,我得到了一个 nullPointerException。这是我的代码:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.ejb.Stateless;
..
@Stateless
public class Properties {
public static volatile Properties instance;
private static Map<String, String> properties = new HashMap<String, String>();
@EJB(WHAT_TO_DO_HERE)
private DatabasePersisterLocal databasePersister;
public static Properties getInstance() {
if (instance == null) {
synchronized (Properties.class) {
if (instance == null) {
instance = new Properties();
}
}
}
return instance;
}
private Properties() {
System.out.println("starting");
System.out.println(databasePersister); //null
//initializing
}
}
我将我的项目导出为一个 jar,然后,当我尝试获取 的实例时Properties
,我得到了一个starting
打印的然后是一个nullPointerException
. 当我尝试从我的另一个项目中注入相同的 EJB (DatabasePersisterLocal) 时,我没有收到任何错误。我究竟做错了什么?