Java - Spring:在SingletonBeanFactoryLocator中跨bean工厂的依赖注入?

时间:2013-01-09 07:56:11

标签: java spring

我有以下情况:

1)两个xml配置文件,比如foo.xmlbar.xml。它们包含名称为ClassPathXmlApplicationContextfooFactory的{​​{1}}个bean。每个bean依次通过其构造函数

给出自己的xml配置文件

2)客户端代码使用barFactory和方法SingletonBeanFactoryLocatorgetInstance来获取这些工厂。例如。 useBean

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

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

问题:是否可以将getBean中的bean从fooFactory注入到bean中,因此barFactory中的bean会自动获取这些依赖项?

2 个答案:

答案 0 :(得分:1)

为什么你没有"普通"应用程序上下文xml。

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

这种方法会在常见的xml中创建两次定义的bean,但这可能是也可能不是问题。如果要共享SAME实例,可以将公共bean创建为单例。

答案 1 :(得分:0)

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