如何在不同的 Spring 上下文之间共享 Spring bean?

2023-12-13

我们有一个使用 Spring BlazeDS 集成的应用程序。到目前为止,我们刚刚使用了 Spring 和 Flex,并且运行良好。我们现在还需要添加一些 Spring MVC 控制器。 Spring BlazeDS 文档指出,执行此操作的方法是在web.xml, 如下:

<servlet>
    <servlet-name>flex</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>flex</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>/spring/*</url-pattern>
</servlet-mapping> 

这是我的问题:有一些 Spring beans 需要在两个上下文中使用 -Spring MVC一和flex一。如何才能做到这一点 - 如何在一个上下文中声明一个 bean(在 xml 中或通过组件扫描)并允许它与在另一个上下文中声明的 bean 共享? 谢谢 !


使用以下命令创建父上下文上下文加载监听器. The DispatcherServlet上下文将自动成为该上下文的子上下文。

在父上下文中创建共享 bean,并在子上下文中的 bean 中引用它们。

如果您正在使用<component-scan>确保您不会意外地将类扫描到多个上下文中。看我的回答here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不同的 Spring 上下文之间共享 Spring bean? 的相关文章

随机推荐