Фрагмент web.xml:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-security.xml</param-value>
</context-param>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Согласно этому ответу:
2- Контекст DispatcherServlet становится дочерним элементом корневого контекста. ...
Мой вопрос состоит в том, чтобы понять, как Spring принимает это решение (присоединить контекст DispatcherServlet к корневому контексту). Ни в одном XML-файле appContext нет ничего явного, чтобы указать это, и AFAICT нет ничего, что вы могли бы указать в XML, чтобы сделать эту ассоциацию явно.
Когда DispatcherServlet создает экземпляр своего appContext, как он узнает, что для него нужно вызвать setParent()
(SpringMVC прекрасно работает без корневого appContext), и если уже существует более одного не дочернего appContext, как бы он выбрал?