我们有一个 Web 应用程序,其中包含一个根应用程序上下文 ( applicationContext.xml
) 和一个调度程序 servlet ( dispatcher-servlet.xml
),在我们的web.xml
类似中定义:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
...
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
由于访问限制,我们显然无法DispatcherServlet
从根父上下文访问任何 bean。
但是,我们希望能够访问兄弟bean。例如,在我们的dispatcher-servlet.xml
我们有:
<bean id="firstController" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
...
</bean>
<bean id="secondController" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
...
</bean>
我们如何secondController
从内部访问,firstController
而不需要将其作为构造函数参数传入或设置为属性?
我们WebApplicationContextUtils.getWebApplicationContext(...)
用来访问 root 中的兄弟姐妹applicationContext.xml
,但我们想在子上下文中做同样的事情。(来自其中一个孩子。)