Spring が知っているすべてのプロパティ (ライブラリによって挿入される) を含むマップを、Spring xml を介して持っている構成クラスに挿入したいと考えています。それは可能ですか?
<bean class="Config">
<constructor-arg name="env">
<map>
//inject all properties?
</map>
</constructor-arg>
</bean>
Spring Context を注入してみませんか? コンテキストを介して、その名前で任意の Bean を検索できます。
編集:
この回答から、次を使用することもできます。
<bean class="Config">
<constructor-arg name="env">
<util:properties location="${path.to.properties.file}"/>
</constructor-arg>
</bean>
「env」コンストラクター引数は java.util.Properties オブジェクトです。
デフォルトのライブラリの代わりに、使用するライブラリ クラスを拡張して Bean をインスタンス化できませんか? その後、すべての値を調べることができます。
それ以外の場合は、ライブラリの署名がわかっている場合は、いつでも AOP を使用してライブラリの周りにコードを織り込み、そこにあるプロパティにアクセスできます。もう少し複雑ですが、必要な場所に移動できます。アクセス方法に応じて、 AspectJ (もう少し設定が必要) またはSpring AOPを確実に使用できます。
これについてさらに洞察が必要な場合は、お知らせください。