我们正在使用基于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