Java-Spring : dependency injection across bean factories in SingletonBeanFactoryLocator?

标签 java spring

我有以下情况:

1) 两个 xml 配置文件,例如 foo.xmlbar.xml。它们包含分别名为 fooFactorybarFactoryClassPathXmlApplicationContext bean。每个 bean 依次通过其构造函数获得其自己的 xml 配置文件,

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

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

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

问题:是否可以将fooFactory中的bean注入(inject)到barFactory中的bean中,以便barFactory中的bean自动获取这些依赖项?

最佳答案

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

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

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

关于Java-Spring : dependency injection across bean factories in SingletonBeanFactoryLocator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14230584/

相关文章:

java - 遍历 Collection<List<Integer>>

java - 需要帮助在java控制台中显示mysql表

Java Spring : how to run two different cronjobs simultaneously?

java - 为什么没有使用 Spring Data JPA 设置版本属性?

java - 当 jsonResponse 从 mySQL-DB 获取空数据时没有任何反应

Java:需要一些关于代码重用的建议

java - 如何在 WebApp 中的处理程序上调用 init()

hibernate - 在 spring 上下文中配置自定义 hibernate id 生成器

java - Spring Reactor 线程模型

java - Spring data jpa 标准如下