2

有没有人尝试使用 Spring 加载多个分层上下文(父/子)?

您能解释一下如何做到这一点,因为我找不到足够的文档吗?

提前致谢。

4

3 回答 3

2

好像我已经想出了如何做到这一点..(感谢“ skaffman ”的帮助)

在 web.xml 中定义一个上下文参数locatorFactorySelector并将其值设置为父上下文的 beans.xml 文件。默认情况下,搜索的是 classpath*:beanRefContext.xml 文件。

就是这样 !

现在我需要看看如何让我的 JUnit 加载父上下文。应该很简单 - 只需将beanRefContext.xml文件放在同一目录中,但让我们看看。

于 2009-09-23T15:23:54.800 回答
1

使用 3rd 方应用程序上下文作为父级创建您的应用程序上下文。这样,第 3 方应用程序上下文将无法看到您的 bean,但您的应用程序上下文将能够看到由第 3 方库(它是父工厂)创建的 bean。

于 2009-09-23T14:12:33.040 回答
1

Spring 类ContextLoaderListenerContextLoader执行初始化 webapp 应用程序上下文的任务,以及可选地将另一个应用程序上下文关联为父级。

特别是,默认情况下loadParentContext()方法使用ContextSingletonbeanFactoryLocator来尝试查找 webapp 的父上下文,但如果这不合适,那么您可以子类化 ContextLoader(和 ContextLoaderListener)以编程方式定位库的 appcontext。

于 2009-09-23T14:18:13.047 回答