2012-04-18 6 views
3

私は、バネXMLファイルに複数のプロパティファイルソースを持っていますが、それらは異なる順序値を持ち、いくつかはオプションです。解決済みのプロパティをSpringで表示する

  • application.properties - クラスパスに、デフォルト(フォールバック)特性(最低優先度)
  • [HOSTNAME]の.propertiesを保持 - クラスパスに、そのホスト名の特定の特性(より高い優先度)
  • を保持しています
  • jndiに値でロードされたプロパティファイル.jndi経由で指定された場所。最も高い優先順位。

つまり、application.propertiesに設定されているデフォルトのプロパティを.propertiesのプロパティで上書きし、それらの値をjndiで参照されるプロパティファイルで順番に上書きできます。

しかし私が望むのは、春のためにすべてのプロパティの解決された値のリストを与える方法です。私はこれをどのようにすることができるか知っていますか?

特定のプロパティの値を取得するのは簡単ですが、実際に必要なのは解決されたすべてのプロパティのリストです。

+0

[Spring:MapまたはPropertiesオブジェクトとしてすべての環境プロパティにアクセスする](https://stackoverflow.com/questions/23506471/spring-access-all-environment-properties-as-a-map)の可能な複製 - または - プロパティ - オブジェクト) – Cherry

答えて

1

私は2つの提案を持っている:あなたはすべて解決プロパティを移入する方法processPropertiesとクラスPropertyPlaceholderConfigurerをオーバーライドすることができ

  1. を。例はhereです。
  2. PropertyPlaceholderConfigurerはSpringのOrderedインターフェイスを実装しているので、複数のプロパティプレースホルダを持つことができます。次に、アプリケーションに含める順序でorderを割り当てます。最後に、すでにクラスを拡張していれば、ロードされるべき順序で解決されたすべてのプロパティにアクセスできます。
+0

提案のおかげで2番目の試行を与える... –

関連する問題