3

Spring に<context:property-placeholder>要素を提供できることを学びました。これは、PropertyPlaceholderConfigurer${foo}を使用してプロパティ ファイルに対して変数を補間する (つまり、 のようなトークンを置き換える) ように見えます。

トークンの解決に使用されるクラスをカスタマイズする方法はありますか? 特に、プロパティー・ファイルを使用するのではなく、Apache Commons Config オブジェクトを使用してトークンの値を提供したいと考えています。Configuration

4

1 に答える 1

1

はい、メソッドをサブクラス化PropertyPlaceholderConfigurerしてオーバーライドしますloadProperties。このメソッドには、Properties必要に応じて値を入力できるオブジェクトが渡されます。または、 の代替実装を定義して、PropertiesPersisterそれを通常の にプラグインすることもできますPropertyPlaceholderConfigurer

Spring 3.1 では、独自のPropertySource実装を作成し、それをアプリケーション コンテキストに登録することで (通常はApplicationContextInitializer. このブログ投稿では、プロセスの概要を説明しています。 <context:property-placeholder>Spring 3.1 では、PropertySources指定したプロパティ ファイルだけでなく、登録済みのプロパティ ファイルからも値を取得します。

于 2012-08-16T11:00:04.997 に答える