【发布时间】:2012-12-14 16:05:02
【问题描述】:
我们有一个 web 应用程序,它在 web.xml 中定义了一个根应用程序上下文 (applicationContext.xml) 和一个调度程序 servlet (dispatcher-servlet.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。
但是,我们希望能够做的事情是访问 sibling 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>
我们如何才能从firstController 内部访问secondController,而不需要将其作为构造函数参数传入或设置为属性?
我们使用WebApplicationContextUtils.getWebApplicationContext(...) 来访问根applicationContext.xml 中的兄弟姐妹,但我们想在子上下文中做同样的事情。 (来自其中一个孩子。)
【问题讨论】:
-
什么是春季版?你可以使用@Autowired 吗?
标签: java spring servlets spring-mvc