0

Spring を使用して Web システムを理解しようとしていますが、デバッグできません。ここで、XML 初期化の順序に混乱しています。

サポート 次のような web.xml があります。

<context-param>
    <param-name>contextConfigLocation</param-name>  
        <param-value>   
            classpath*:/com/pathA/**/applicationContext*.xml,classpath*:/com/pathB/**/applicationContext*.xml     
    </param-value>  
</context-param>

/com/pathA には、同じ名前の Bean を定義する xml ファイルがいくつかあります。/com/pathB には、com/pathA の xml ファイルと同じ名前の Bean を定義する xml ファイルもあります。

Spring フレームワークがデフォルトで最後の Bean 定義を使用することはわかっていますが、xml ファイルの初期化の順序がわかりません。

Bean の定義は次のとおりです。

/com/pathA/applicationContextOne.xml

<bean name="/testBean" class="com.TestActionOne">
</bean>

/com/pathA/applicationContextTwo.xml

<bean name="/testBean" class="com.TestActionTwo">
</bean>

/com/pathB/applicationContextThree.xml

<bean name="/testBean" class="com.TestActionThree">
</bean>

/com/pathA/にあるdiffernet xmlファイルの初期化順序を誰でも教えてもらえますか

com/pathA/ と com/pathB の間の xml ファイルの初期化順序は?

4

1 に答える 1

0

初期化順序をシミュレートするために、ローカル pc (Windows および AIX) でいくつかのサンプルを作成しました。結果は次のとおりです。

1.異なるパスにあるファイルの初期化順序は、classpath*:/com/pathA/* /applicationContext .xml に記述されている順序に依存します私の質問では、pathA の [applicationContext*.xml] ファイルが最初に初期化され、次にパスB.

2.同一パス内のファイルの初期化順はファイル名順

たとえば、pathA に [applicatinContextOne.xml] と [applicationContextTwo.xml] がある場合、[applicatinContextOne.xml] が最初に初期化され、次に [applicationContextTwo.xml] が初期化されます。

これを Windows と AIX の両方で試しましたが、同じ結果が返されました。これが役立つことを願っています。

于 2013-06-19T07:44:50.790 に答える