3

Spring(v.3.0)がファイル内のプレースホルダーを解析しないようにする方法はあり.propertiesますか?私は自分で書くことができることを知っていますが、PropertyPlaceholderConfigurerそれを行うための「よりクリーンな」方法を探していました。

編集:

具体的には、.sqlファイルにあるプレースホルダーを置き換えることです。したがって、プレースホルダーの値はに格納されます.propertiesが、プレースホルダーはファイルで使用され.sqlます。

4

3 に答える 3

5

Beanは、他のPropertyPlaceholderConfigurerBean定義のプレースホルダーを置き換えます。具体的には、Beanが実際に作成される前に、Bean定義のBeanプロパティの値を更新します。したがって、PropertyPlaceholderConfigurerSQLの変更に使用する場合は、そのSQLをBeanプロパティ値に埋め込む必要があります。このクラスは、任意のファイルのプロパティを置き換えることはできません。

任意のファイルのプレースホルダーを置き換えたい場合は、PropertyPlaceholderHelperクラスの方が適しています。たとえば、メソッド

String replacePlaceholders(String value, Properties properties)

のプレースホルダーを、書き換えられた文字列を返すことvalueから取得したプロパティに置き換えます。propertiesこれを簡単に適合/ラップして、ファイル内のプレースホルダーを置き換えることができます。

于 2010-10-12T13:45:10.900 に答える
2

PropertyPlaceholderConfigurer(プロパティPropertiesを介して) 任意のオブジェクトを指定できます。properties

于 2010-10-12T13:09:12.360 に答える
0

Maven を使用しているかどうかはわかりませんが、使用する場合は、リソース フィルタリングを使用して、デプロイ時にプロパティを SQL ファイルに挿入し (ant にも同様のソリューションがあります)、SpringPropertyPlaceholderConfigurerに同じプロパティ ファイルを使用させます。実行時に。そうすれば、すべてが所属する場所になります (結局のところ、プロパティの最適な場所は .properties ファイルです)。

于 2010-10-12T15:20:09.900 に答える