我们可以在Spring配置文件中使用相同的java类创建多个bean吗?
<beans ....
<bean name="customeBeanInstance1" class="model.CustomBean">
<property name="name" value="customBeanOne"/>
</bean>
<bean name="customeBeanInstance2" class="model.CustomBean">
<property name="name" value="customBeanTwo"/>
</bean> >
</beans>
如果是,那么接线如何工作?
这种配置的实际用途是什么?
答案 0 :(得分:1)
当然可以。要记住的事情(我相信会引起你的困惑):
刻板印象注释(@Component
,@Service
)并不是告诉Spring创建bean的唯一方法。还有其他方法,例如在XML app context config file中。
按类型自动连接并不是Spring注入bean的唯一方法。您可以通过提供bean名称等明确告诉Spring注入哪个bean。
所以,你认为可能不可能的事实上很常见,例如,像这样的XML配置:
<beans>
<bean id="basicFooService" class="com.foo.FooServiceImpl" />
<bean id="advancedFooService" class="com.foo.FooServiceImpl" >
... different properties
</bean>
<bean id="barService" class="com.bar.BarServiceImpl">
<property name="fooService" ref="advancedFooService" />
</bean>
</beans>