我已經設置了一個私有靜態屬性對象加載在我的工廠類的一些配置工廠類的構造函數中。私人靜態屬性變量導致空指針異常
public class BussinessServiceFactory {
private static final BussinessServiceFactory factory = new BussinessServiceFactory();
public static BussinessServiceFactory createBussinessServiceFactory(){
return factory;
}
private BussinessServiceFactory(){
InputStream in = BussinessServiceFactory.class.getClassLoader().getResourceAsStream("factory/bussinessservice.properties");
try {
bsConfig.load(in);
} catch (IOException exception) {
// TODO Auto-generated catch block
throw new RuntimeException(exception);
}
}
private static Properties bsConfig = new Properties();
public <T> T createBussinessService(Class<T> clazz){
try {
String clazzName = clazz.getSimpleName();
String name = bsConfig.getProperty(clazzName);
return (T) Class.forName(name).newInstance();
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException exception) {
throw new RuntimeException(exception);
}
}
}
但是,當我初始化類時,它會拋出NullPointerException
。
java.lang.NullPointerException
at factory.BussinessServiceFactory.<init>(BussinessServiceFactory.java:15)
at factory.BussinessServiceFactory.<clinit>(BussinessServiceFactory.java:8)
... 24 more
然後,如果我將屬性對象更改爲非靜態對象,問題就解決了。但我仍然對這種情況發生的原因以及如何以這種方式解決問題感到困惑。
那麼,例外說這個問題是在* testFindOrder *,你向我們展示* testPageQuery *。我們如何幫助你? – CKing