我正在使用Spring 3.1.1,在我的业务逻辑中,我有一个循环,需要为每次迭代生成一个新的spring bean实例(原型范围)。
这样做的最佳方法是什么?我必须创建自己的BeanFactory类,我可以在我的类中注入一次,并且每次都要求它根据请求生成bean吗?在查看Spring 3 docs时,似乎暗示我应该使用ApplicationContext。但是,使用ApplicationContext使我的代码依赖于Spring。
对于这样的事情,最好的方法是什么? Spring是否已经提供了我可以利用的各种工厂?
答案 0 :(得分:1)
ApplicationContext
是工厂。你不必把它注入你的班级;您实例化一个并使用它来创建bean并连接它们的依赖项。
我不明白“使用ApplicationContext使我的代码依赖于Spring的注释”。是的,它确实。你认为DI值得吗?
答案 1 :(得分:0)
我认为你应该选择春天。 Spring可以满足您的需求。您可以使用方法从应用程序上下文中查找特定类型的bean。所以,如果你让那个bean成为原型。然后当你调用这个特殊的方法时,你将返回一个你想要的bean的新实例。
你会发现它是here!
答案 2 :(得分:0)
您可以使用自定义范围并创建注入bean代理,并在自定义范围bean上侦听可以注入underling代理bean的一些动态事件