0

jar1 の applicationContext1 で定義された bean1 と bean2 があり、jar2 の applicationContext2 で定義された bean1 (もちろん別のクラス) と bean3 があります。

applicationContext3 もある Web アプリケーションで jar1 と jar2 の両方を使用する必要があります。

web.xml で以下のエントリを使用します

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>applicationContext1.xml
            <param-value>applicationContext2.xml
            <param-value>/WEB-INF/properties/application/applicationContext3.xml
    </param-value>
</context-param>

互いにステップオーバーしないように、applicationContext ID にプレフィックスを付ける方法はありますか。例:applicationContext3で私は持つことができます

<bean id="myBean" >
  <property name="bean1" ref="ac1:bean1">
  <property name="bean2" ref="ac2:bean1">
</bean>

前もって感謝します

4

1 に答える 1

0

何らかの形でアレンジできるかもしれませんが (Spring は非常に柔軟で強力です)、コンテキストを少しクリーンアップする必要があると思います。ライブラリとメイン アプリの両方を完全に制御できる場合は、メインの applicationContext のみを作成し、関連する Bean を JAR からコピーすることをお勧めします。

他の良い解決策は、repository-context.xml、business-context.xml などのコンテキスト モジュールですべての applicationContext を分離し、必要なものだけを参照することです。これにより、ロードされるものをより細かく制御できます。

また、これを見てください: http://www.gridshore.nl/2008/05/13/spring-application-context-loading-tricks/

于 2013-02-27T12:12:22.757 に答える