1

他のいくつかのリソースをインポートする Spring アプリケーション コンテキスト ファイルがあります。ただし、インポートされたファイル内の一部のリソースは似たような名前になっています。たとえば、include1.xml には次のような名前があります。

<bean id="MyBean" class="...">
...
</bean>

同じ Bean ID が include2.xml で使用されます。含まれる Bean にプレフィックスを設定する方法はありますか、または含まれるリソースの範囲を制限する方法はありますか。たとえば、次のようなものです。

<import resource="include1.xml" prefix="foo"/>
<import resource="include2.xml" prefix="bar"/>

これで、親ファイルで foo.MyBean と bar.MyBean を参照できるようになりました。そのようなシステムが存在しない場合、Bean ID の衝突がないようにスコープを制限する方法はありますか?ここでのベスト プラクティスは何ですか?

4

1 に答える 1

2

いいえ、ファイルに基づいて Bean の名前を付ける方法はありません (同じ名前で後で定義された Bean は、以前に定義されたものをオーバーライドします)。しかし、それらに独自の「名前」を自由に付けることができます。 foo ファイルの Bean:

<bean name="foo.bean1" class=../>
<bean name="foo.bean2" class=../>

および bar ファイルで、手動で名前空間を設定します。

<bean name="bar.bean1" class=../>
<bean name="bar.bean2" class=../>
于 2012-06-13T01:09:13.927 に答える