2014-11-21 81 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