如何在不由DispatcherServlet管理的servlet中启用Spring应用程序上下文?

时间:2011-03-08 09:26:16

标签: java spring ioc-container

情景:

  1. 在上下文xml文件中定义了一些常见的bean。

  2. DispatcherServlet映射到/foo/*

  3. MyServlet已映射到/bar/*

  4. 我想在Foo类和Bar类之间共享公共bean。

  5. 问题:

    1. 我可以从MyServlet获取DispatcherServlet的ApplicationContext吗? (在web.xml中,我在DispatcherServlet之后定义了MyServlet。)

    2. 如果Q1不是,我如何从MyServlet获取ApplicationContext?或者,如何让MyServlet与特定的ApplicationContext连接?

1 个答案:

答案 0 :(得分:4)

您无法与另一个servlet共享一个servlet的上下文,但可以声明第二个上下文,它充当DispatcherServlet的父上下文。您需要从两个servlet访问的任何bean都应该进入这个新的上下文。

请参阅section 3.13.4 of the Spring docs了解如何进行设置。