有没有人尝试使用 Spring 加载多个分层上下文(父/子)?
您能解释一下如何做到这一点,因为我找不到足够的文档吗?
提前致谢。
有没有人尝试使用 Spring 加载多个分层上下文(父/子)?
您能解释一下如何做到这一点,因为我找不到足够的文档吗?
提前致谢。
好像我已经想出了如何做到这一点..(感谢“ skaffman ”的帮助)
在 web.xml 中定义一个上下文参数locatorFactorySelector
并将其值设置为父上下文的 beans.xml 文件。默认情况下,搜索的是 classpath*:beanRefContext.xml 文件。
就是这样 !
现在我需要看看如何让我的 JUnit 加载父上下文。应该很简单 - 只需将beanRefContext.xml
文件放在同一目录中,但让我们看看。
使用 3rd 方应用程序上下文作为父级创建您的应用程序上下文。这样,第 3 方应用程序上下文将无法看到您的 bean,但您的应用程序上下文将能够看到由第 3 方库(它是父工厂)创建的 bean。
Spring 类ContextLoaderListener和ContextLoader执行初始化 webapp 应用程序上下文的任务,以及可选地将另一个应用程序上下文关联为父级。
特别是,默认情况下loadParentContext()方法使用ContextSingletonbeanFactoryLocator来尝试查找 webapp 的父上下文,但如果这不合适,那么您可以子类化 ContextLoader(和 ContextLoaderListener)以编程方式定位库的 appcontext。