一个关于Spring的问题,怎么注入一定数量的Bean。
例如:现在有类A及类B,在Spring中配置类A的Bean a及类B的Bean b,其中a的scope为prototype,其中a有许多配置参数且已在配置文件中配置好了。
问题是:Bean b有对类A对象数组的引用且它的数量是动态配置的,即在配置文件中,可由一个属性aNum来指定。例如:若aNum指定为5,那么就应该由Spring注入5个不同的bean a。
本人仅想到了的方法:用后置处理器,但在后置处理器中怎么访问Spring容器?Spring机制中,容器如何把自己注入到Bean中?。或者有其它更好的使用Spring的办法来实现这一特性?要求就是在类B中不要出现Spring类。
不好意思,本人刚刚用Spring开发项目。所以请高手来出出招。
------解决方案--------------------...你五个A类,和一个A类有什么区别?
感觉B的设计得有点问题
如果非要这样的话,你就可以写五个A配置,然后在B的相关配置中指向五个A的Bean
------解决方案--------------------
------解决方案--------------------
我觉得技术上简单点,但配置稍微复杂点的做法是使用Set或者list注入:
例如:
XML code
<beans>
<!-- oracle bean used for a few examples -->
<bean id="A1" name="A1" class="com.pkg.ClassA"/>
<bean id="A2" name="A2" class="com.pkg.ClassA"/>
<bean id="A3" name="A3" class="com.pkg.ClassA"/>
<!-- collection injection -->
<bean id="B" class="com.pkg.ClassB">
<property name="AClsList">
<list>
<ref local="A1"/>
<ref local="A2"/>
</list>
</property>
</bean>
</beans>
------解决方案--------------------