0

我正在使用 Spring 3.1.1,在我的业务逻辑中,我有一个循环,每次迭代都需要一个新的 spring bean 实例(原型范围)。

最好的方法是什么?我必须创建自己的 BeanFactory 类,我可以将其注入到我的类中,并且每次都调用它以根据请求生成 bean?在查看Spring 3 文档时,似乎暗示我应该改用 ApplicationContext 。但是,使用 ApplicationContext 使我的代码依赖于 Spring。

这种事情的最佳方法是什么?Spring 是否已经提供了一种我可以利用的工厂?

4

3 回答 3

1

ApplicationContext 工厂。您不必将其注入您的班级;您实例化一个并使用它来创建 bean 并连接它们的依赖项。

我不明白“使用 ApplicationContext 使我的代码依赖于 Spring”的评论。是的,它确实。你觉得DI值不值?

于 2012-11-23T21:51:41.517 回答
0

我想你应该和春天一起去。Spring 满足您的需求。您可以使用一种方法从应用程序上下文中查找特定类型的 bean。因此,如果您将该 bean 设为原型。那么当你调用这个特殊方法时,你会得到一个你想要的bean的新实例。

你会在这里找到它的详细信息!

于 2012-11-23T20:37:57.067 回答
0

您可以使用自定义范围并使注入 bean 代理,并在自定义范围 bean 上侦听一些可以注入底层代理 bean 的动态事件

于 2015-08-20T17:02:37.203 回答