我试图了解使用spring的网络系统,我无法调试它。 现在我对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我有一些xml文件定义了一些具有相同名称的bean。 在/ com / pathB中我还有一些xml文件,它们定义了与com / pathA的xml文件同名的bean。
我知道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 /
中不同的xml文件的初始化顺序和com / pathA /和com / pathB之间的xml文件的初始化顺序?
答案 0 :(得分:0)
我在本地电脑(Windows和AIX)中编写了一些样本来模拟初始化顺序,我在下面找到了结果。
1.不同路径中文件的初始化顺序取决于写入的顺序 类路径*:/ COM / pathA / * /的applicationContext .XML 在我的问题上,pathA中的[applicationContext * .xml]文件将首先初始化,然后在pathB中初始化。
2.同一路径中文件的初始化顺序是文件名的顺序
例如,如果在pathA中有[applicatinContextOne.xml]和[applicationContextTwo.xml],则首先初始化[applicatinContextOne.xml],然后[applicationContextTwo.xml]。
我在Windows和AIX下尝试了这个,它返回相同的结果。 希望这会有所帮助。