0

我有以下情况:

1) 两个 xml 配置文件,比如说foo.xmlbar.xml. 它们包含带有名称和相应的ClassPathXmlApplicationContextbean 。每个 bean 依次通过其构造函数获得自己的 xml 配置文件,fooFactorybarFactory

2)客户端代码的用途SingletonBeanFactoryLocator和方法getInstance以及useBean获取这些工厂。例如SingletonBeanFactoryLocator.getInstance("classpath:foo.xml").useBeanFactory("fooFactory");

要求:barFactory 中的一些 bean 需要访问 fooFactory 中的一些 bean。

当前的解决方案是通过获取对 fooFactory 的引用SingletonBeanFactoryLocator.getInstance("classpath:foo.xml").useBeanFactory("fooFactory");并使用getBean来获取必要的 bean。

问题:是否可以将 beans from 注入fooFactory到 beans frombarFactory中,因此 beans inbarFactory会自动获取这些依赖项?

4

2 回答 2

1

为什么没有“通用”应用程序上下文 xml。

在这个文件中,您可以定义将在 foo 和 bar 中使用的 bean。然后,您可以将这个通用 xml 导入到两个应用程序上下文中。

这种方法会创建两次在公共 xml 中定义的那些 bean,但这可能是也可能不是问题。如果您想共享相同的实例,您可以将公共 bean 创建为单例。

于 2013-01-09T09:00:50.533 回答
0

我最终在同一个 .xml 中定义了这些工厂并将它们链接起来。然后我将 fooFactory bean 正常注入 barFactory bean。

于 2013-01-15T06:33:20.107 回答