2014-11-21 90 views
0

我正在学习Spring Core认证,我对beans集合定义为XML配置有以下疑问。如何在Spring中将XML集合创建为XML Java配置?

例如,我有这样的XML配置片段:

<bean id="service" class="com.acme.service.TransferServiceImpl"> 
    <property name="customerPolicies"> 
     <list> 
      <ref bean="privateBankingCustomerPolicy"/> 
      <ref bean="retailBankingCustomerPolicy"/> 
      <bean class="com.acme.DefaultCustomerPolicy"/> 
     </list> 
    </property> 
</bean> 

你能帮我明白究竟如何工作的?

关于我读的文档,它被称为public void setCustomerPollicies(java.util.List policies)){...}方法。我认为这取决于我的事实,即必须是用bean对象初始化到列表中的集合。这样对吗?

我的疑问是:为什么进入列表的对象是不同类型的? (一个裁判一privateBankingCustomerPolicy豆,一个裁判一retailBankingCustomerPolicy豆和具有类型为com.acme.DefaultCustomerPolicy一个内部bean)?

TNX

回答

1

如果签名是这样的,并没有使用仿制药,然后可以加入任何类型到此列表中。

public void setCustomerPollicies(java.util.List policies) 

如果你想在运行时类型的限制,那么你必须使用泛型

public void setCustomerPollicies(java.util.List<Policy> policies) 
+0

好但在实践中会发生什么?我将2个引用(引用privateBankingCustomerPolicy和retailBankingCustomerPolicy)的anto设置为对内部bean(com.acme.DefaultCustomerPolicy)的另一个引用的列表? TNX – AndreaNobili 2014-11-21 13:00:09

+1

在实践中,创建java.util.List实现并将指定的策略添加到该列表,最后将该列表设置为您的方法。 – shazin 2014-11-21 14:26:26