メイン クラスのスタンドアロン Spring アプリケーションでは、次のようなことができます。
//load the appcontext with refresh value as false
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "classpath:appcontext.xml" }, false);
//add the props file
context.getEnvironment().getPropertySources().addFirst(new ResourcePropertySource("classpath:app.properties"));
//refresh the context
context.refresh();
これが行うことは、appcontext.xml ファイル内で呼び出されるすべてのプロパティで定義されたプロパティを使用してスプリング コンテキストをロードすることですが、ロード時に更新されません。次に、最初にapp.propertiesをロードするように指示します。その時点で、app.properties の値のみが考慮されます。そして、コンテキストが更新されます。app.properties ファイルのプロパティ値が読み込まれます。これにより、アプリケーションを再構築する必要はありません。値を変更してアプリケーションを再起動するだけです。