Я имею дело с веб-приложением Spring MVC, которое загрузилось с помощью DispatcherServlet
. Он создает XmlWebApplicationContext
, который управляет всем приложением:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Теперь есть несколько модулей, которые должны быть загружены во время выполнения с помощью ContextSingletonBeanFactoryLocator
. Поэтому каждый модуль имеет свой собственный ClasspathXmlApplicationContext
. Чтобы модуль мог ссылаться на beans на XmlWebApplicationContext
, он должен быть привязан к XmlWebApplicationContext
для формирования контекстной иерархии, в которой XmlWebApplicationContext
должен играть роль родителя и ClasspathXmlApplicationContext
модуля. роль детского контекста. К сожалению, я не могу подключить их, используя
<beans>
<bean id="moduleContext"
class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
...
</constructor-arg>
<constructor-arg ref="parentContext" />
</bean>
</beans>
потому что я не нашел пути до сих пор, чтобы дать WebApplicationContext
имя parentContext
. Я что-то пропустил или есть лучший/более простой способ добиться того же по-другому?