【发布时间】:2012-04-27 07:26:26
【问题描述】:
我有一个工厂式 bean,它在启动时创建了许多对象,我希望这些对象本身就是 Spring bean。
如果我正在创建单个对象,我可以使用工厂方法进行实例化,例如。 (来自 Spring 文档第 4.3.2.3 节):
<!-- the factory bean, which contains a method called createInstance() -->
<bean id="serviceLocator" class="examples.DefaultServiceLocator">
<!-- inject any dependencies required by this locator bean -->
</bean>
<!-- the bean to be created via the factory bean -->
<bean id="clientService"
factory-bean="serviceLocator"
factory-method="createClientServiceInstance"/>
如果我提前知道我有 n 个对象,我可以调用 n 个不同的方法,但我没有 - 我的工厂创建了任意数量的事先不知道的对象。
有人知道怎么做吗?
我们的目标是让它们像上面那样产生“适当的”Spring bean;具体来说,它们应该有资格作为源和目标进行自动装配。请注意,这意味着我不只是想返回一个 Collection 并让它成为 bean。
我正在使用 XML 配置的 Spring 3.1。
【问题讨论】: