2012-04-13 8 views
1

春に知っているすべてのプロパティ(ライブラリーによって挿入されている)を含んでいるマップを、spring xmlを通して持っている設定クラスに注入したいと思います。それは可能ですか?SpringからすべてのプロパティをBeanに挿入するには?

<bean class="Config"> 
    <constructor-arg name="env"> 
    <map> 
    //inject all properties? 
    </map> 
    </constructor-arg> 
</bean> 

答えて

1

なぜ、Springコンテキストを挿入しないのですか?コンテキストを使用すると、その名前で任意のBeanを検索できます。

編集:このanswerから

、あなたはまた、次のように使用できます。あなたの "ENV" コンストラクタ引数は、java.util.Propertiesオブジェクトである

<bean class="Config"> 
    <constructor-arg name="env"> 
    <util:properties location="${path.to.properties.file}"/> 
    </constructor-arg> 
</bean> 

+0

あなたは何を意味するの例を挙げることができますか? Configクラスのコンテキストを注入しますか?それでは、どのようにプロパティを取得しますか?私がこれをやろうとしている主な理由は、春の文脈が私が使っているライブラリによって所有されていて、もっと豆をそれに加えることができるからです。 – naumcho

+0

ええと、最初にプロパティの意味を定義できますか? –

+0

java.util.Properties - 基本的に文字列/文字列マップ – naumcho

0

デフォルトのライブラリではなく、使用するライブラリクラスを拡張してBeanをインスタンス化できませんか?そうすれば、すべての値を検査することができます。

ライブラリのシグネチャが分かっている場合は、常にAOPを使用してライブラリの一部のコードを編成し、そこのプロパティにアクセスできます。もう少し複雑ですが、まだどこに行く必要があります。どのように物事がアクセスされているかに応じて、AspectJ(もう少しconfigが必要)やSpring AOPを使うことができます。

これについてもっと詳しく知りたい場合は、教えてください。

関連する問題