데이터베이스의 속성을 관리하는 싱글 톤 클래스를 구현하려고합니다. 그러나 데이터베이스 bean을 주입하려고 할 때 nullPointerException이 발생합니다. 다음 nullPointerException
나는 단지 나의 프로젝트를 수출하고있어, 나중에, 내가 Properties
의 인스턴스를 얻을 때, 나는 starting
인쇄 것을 얻을JBoss에 EJB를 삽입 할 때 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
}
}
: 여기에 내 코드입니다. 내 다른 프로젝트에서 동일한 EJB (DatabasePersisterLocal)를 주입하려고하면 오류가 발생하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
'WHAT_TO_DO_HERE'에 삽입하고자하는 EJB의 이름을 지정하고 대상 빈의 이름을 지정하고 여기를 가리켜 야합니다. –
하지만'@ EJB' 어노테이션 만 사용하여 성공적으로'DatabasePersisterLocal'을 프로젝트에 삽입합니까? –
또한 구현에 너무 의존합니다. 때로는 일부 환경에서는 이름이 필요합니다. :) –