我們正在使用基於JAX-RS的webapp &,它需要從屬性文件讀取一些配置。我寫了一個ConfigurationProvider helper類來加載這些屬性。這個類將被用於多個類。我的問題是&什麼時候ConfigurationProvider應該被初始化?何時初始化Java EE webapp中的屬性?
public class ConfigurationProvider {
private static Properties properties;
private static ConfigurationProvider config;
private static final String XYZ_PROPERTIES = "xyz.properties";
static {
config = new ConfigurationProvider();
}
private ConfigurationProvider() {
try {
InputStream in = this.getClass().getClassLoader().
getResourceAsStream(XYZ_PROPERTIES);
properties = new Properties();
properties.load(in);
} catch(IOException ie) {
ie.printStackTrace();
}
}
public static ConfigurationProvider getInstance() {
return config;
}
public String get(String propname) {
return properties.getProperty(propname, null);
}
}
問候
創建ConfigurationProvider'的'一個單身,如果你不想總是實例並具有基於他們的'Locale' ResourceBundle'的'高速緩存。這樣,您不必每次都需要重新加載屬性文件。 – 2013-02-18 05:26:59
@BuhakeSindi,我猜ConfigurationProvider已經是單身人士。我正在初始化配置靜態塊&有一個私人的構造函數。 getInstance方法只能獲取實例。 – 2013-02-18 06:14:19