で文字列を定義:は、Aは、基本的な構成のため、B及びCは、AIにBeanではA.</p> <p>をインポートしている持っている私は3(A、B、C)ばねのcontext.xmlを有するばねコンテキスト
私はBとCコンテキストでプロパティmyStringを定義したいと思いますが、作成せずに2つの異なるプロパティファイルをロードすることは可能ですか?
で文字列を定義:は、Aは、基本的な構成のため、B及びCは、AIにBeanではA.</p> <p>をインポートしている持っている私は3(A、B、C)ばねのcontext.xmlを有するばねコンテキスト
私はBとCコンテキストでプロパティmyStringを定義したいと思いますが、作成せずに2つの異なるプロパティファイルをロードすることは可能ですか?
プロパティを処理する代わりに、String型のBeanを宣言することで別の方法を試すこともできます。
この方法:
<bean class="com.example.Ex">
<property name="aString" ref="str" />
</bean>
そして、あなたはBで宣言し、Cはこのよう "STR" 参照コンテキスト:
B
<bean id="str" class="java.lang.String">
<constructor-arg value="string_1"/>
</bean>
C
<bean id="str" class="java.lang.String">
<constructor-arg value="string_2"/>
</bean>
これも方法の1つです。完全のために
<bean id="str" class="com.example.Ex">
<constructor-arg type="java.lang.String" value="INDIA"/>
これは、文脈BとCが文脈Aで決定された文字列に対して異なる値を持つ問題を解決するのに役立たない。 – Kieran
さらに、文字列を引数として受け入れるクラスExのコンストラクタがあることを暗示する。 –
ここに文字列を作成するための別の方法:
の代わりに、不必要に作成する新しいオブジェクトを強制的にStringコンストラクタを呼び出し、のvalueOfを使用するために良いアイデアかもしれここでは、「何もしない」コンストラクタとして役立つことができる方法:
<bean id="str" class="java.lang.String" factory-method="valueOf">
<constructor-arg value="string_1"/>
</bean>
しかし、これは追加のXML attriを解析するオーバーヘッドとして学術的のみですストリングの作成を引き起こすbuteは、コンストラクターの代わりにvalueOfを呼び出すことによるパフォーマンスの向上よりも大きい場合があります。
これは本当です... StringクラスはStringを持つコンストラクタを持っています...私はそれを考えていません。ありがとうございます! – rascio
どちらが練習の最善の方法ですか?なぜ? –