我想使用已经在构造函数中设置的变量,但它返回null。
这是我的代码:
public class ServerConfig {
private String ServerDbUrl;
static String ServerDbUsername;
static String ServerDbPassword;
static String ServerDbName;
private XMLConfiguration config;
public void ServerConfig () {
try {
config = new XMLConfiguration(getClass().getResource("/config.xml"));
// config.setExpressionEngine(new XPathExpressionEngine());
//assign value;
ServerDbUrl = config.getString("database.url");
ServerDbUsername = config.getString("database.username");
ServerDbPassword = config.getString("database.password");
ServerDbName = config.getString("database.name");
} catch (Exception e) {
System.out.println(e);
}
}
public String GetServerDbUrl() {
//return ServerDbUrl;
return config.getString("database.url");
}
在函数GetServerDbUrl()
上,我想获取ServerDbUrl
或config.getString()
它将返回null或错误堆栈。
我知道这个新手问题,但我希望这将有助于将来像我这样的新手。任何建议。感谢。
答案 0 :(得分:12)
这不是构造函数,它是常规方法。
public void ServerConfig ()
因此,创建ServerConfig
的实例并不执行此方法,并且您的实例变量仍然未初始化。
您应该将签名更改为:
public ServerConfig ()
构造函数没有返回类型。