static块中代码只会在JVM第一次加载这个class时调用, 后面无论new出多少个实例, static块中代码都不会被再次执行。 由此可以将一些初始化的参数放在这里,避免了多次初始化。
public static void main(String[] args) {
try {
DBConnection a = new DBConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
DBConnection a2 = new DBConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
DBConnection a3 = new DBConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static{
try {
System.out.println("A---------");
propFile.load(new FileInputStream(ConfigurationProvider.getAdapterConfigFile()));
soapBody = propFile.getProperty("soapBody","C:/CIS-inbound/soapBody/");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}