如何动态注入spring bean(原型范围)

时间:2012-11-23 19:59:03

标签: java spring dependency-injection factory

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

这样做的最佳方法是什么?我必须创建自己的BeanFactory类,我可以在我的类中注入一次,并且每次都要求它根据请求生成bean吗?在查看Spring 3 docs时,似乎暗示我应该使用ApplicationContext。但是,使用ApplicationContext使我的代码依赖于Spring。

对于这样的事情,最好的方法是什么? Spring是否已经提供了我可以利用的各种工厂?

3 个答案:

答案 0 :(得分:1)

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

我不明白“使用ApplicationContext使我的代码依赖于Spring的注释”。是的,它确实。你认为DI值得吗?

答案 1 :(得分:0)

我认为你应该选择春天。 Spring可以满足您的需求。您可以使用方法从应用程序上下文中查找特定类型的bean。所以,如果你让那个bean成为原型。然后当你调用这个特殊的方法时,你将返回一个你想要的bean的新实例。

你会发现它是here!

答案 2 :(得分:0)

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