0

私たちは 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);
}
    }  

よろしく

4

1 に答える 1

1

http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html

JAX-RSリソースクラスでPostConstructメソッドを使用できます。

@PostConstruct
private void init() {
   /initialize...
}

ただし、シングルトンを定義するアプリケーションが適切かどうかはわかりません。Java EE環境を使用している場合は、代わりにApplicationScopedBeanを使用できます。

http://docs.oracle.com/javaee/6/api/javax/enterprise/context/ApplicationScoped.html

于 2013-02-18T06:20:14.713 に答える