[英]When to initialize properties in Java EE webapp?
我們有一個基於JAX-RS的webapp,它將需要從屬性文件中讀取一些配置。 我編寫了一個ConfigurationProvider幫助器類,該類加載這些屬性。 該類將在多個類中使用。 我的問題是何時和在何處初始化ConfigurationProvider?
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);
}
}
問候
http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html
您可以在JAX-RS資源類中使用PostConstruct方法。
@PostConstruct
private void init() {
/initialize...
}
但是,我不確定定義單例的應用程序是一個好主意。 如果使用的是Java EE環境,則可以改用ApplicationScoped bean。
http://docs.oracle.com/javaee/6/api/javax/enterprise/context/ApplicationScoped.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.