Spring は、XML ファイルにある構成情報の注入を提供します。私のソフトウェアをインストールする人が XML ファイルを編集する必要がないようにしたいので、構成情報 (パス情報など) をプレーン テキスト ファイルでより適切に扱うために、java.util.Properties を使用することに戻りました。ファイル自体のパスフリーの場所を許可するClassPathResourceを使用すると、使いやすく、Springに非常によく適合するため(クラスパスにある必要があります。私はWEB-INF/classesのルートに配置します) .
設定された Properties オブジェクトを返す簡単なメソッドを次に示します。
/**
* Load the Properties based on the property file specified
* by <tt>filename</tt>, which must exist on the classpath
* (e.g., "myapp-config.properties").
*/
public Properties loadPropertiesFromClassPath( String filename )
throws IOException
{
Properties properties = new Properties();
if ( filename != null ) {
Resource rsrc = new ClassPathResource(filename);
log.info("loading properties from filename " + rsrc.getFilename() );
InputStream in = rsrc.getInputStream();
log.info( properties.size() + " properties prior to load" );
properties.load(in);
log.info( properties.size() + " properties after load" );
}
return properties;
}
ファイル自体は通常の「name=value」のプレーンテキスト形式を使用しますが、Properties の XML 形式を使用する場合は、単に properties.load(InputStream) を properties.loadFromXML(InputStream) に変更します。それが助けになることを願っています。