我正在攻读Spring Core认证,并且我对 bean集合的定义与 XML配置有关。
例如,我有这个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)){...} 方法。我认为这取决于我的事实 必须是使用beans对象初始化到列表中的集合。是不是?
我的疑问是:为什么列表中的对象是不同的类型? (对 privateBankingCustomerPolicy bean的引用, retailBankingCustomerPolicy bean的引用和类型为 com.acme.DefaultCustomerPolicy 的内部bean)?< / p>
TNX
答案 0 :(得分:1)
如果签名是这样的,并且没有使用泛型,则可以将任何类型添加到此列表中。
public void setCustomerPollicies(java.util.List policies)
如果您希望在运行时使用类型限制,则必须使用泛型
public void setCustomerPollicies(java.util.List<Policy> policies)