Ordem de carregamento de contextConfigLocation no web.xml do projeto Spring Servlet
Suponha que eu tenho umSpring Java projeto e estou tentando configurá-lo como um servlet de servidor da web. Aqui está uma versão simplificada doweb.xml Arquivo:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/generalApplicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>my-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/specificApplicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>my-servlet</servlet-name>
<url-pattern>/foo/*</url-pattern>
</servlet-mapping>
O principal a ser observado aqui é que eu especifiquei dois arquivos XML a serem carregados. Um é geral para todo o meu aplicativo, enquanto o outro é específico para o servlet "my-servlet". Para uma configuração com apenas um mapeamento de servlet, isso não faria sentido. No entanto, meu projeto possui vários mapeamentos de servlet e cada um deles possui configurações específicas do Spring.
Minha pergunta: Qual contextConfigLocation será carregado primeiro pelo Spring? Será o generalApplicationContext.xml ou será o specificApplicationContext.xml? Mais importante, a ordem de carregamento é importante? Dos meus esforços de depuração, parece evidente que ocorre porque eu recebo erros diferentes quando movo algumas configurações independentes do Spring de um arquivo para outro.
NB: É recomendável discutir se é necessário usar várias configurações de mola para mapeamentos de servlet múltiplos. O mesmo vale para o uso da configuração XML em vez da nova configuração Java. Mas não é isso que estou tentando perguntar aqui. Vamos tentar focar na minha pergunta principal.