java - 如何在 Spring 中将 bean 集合创建为 XML Java 配置?

标签 java spring spring-mvc applicationcontext

我正在学习 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.Listpolicies)) {...} 方法。我认为这取决于 必须是使用列表中的 beans 对象初始化的集合。是吗?

我的疑问是:为什么列表中的对象类型不同? (对 privateBankingCustomerPolicy bean 的引用、对 retailBankingCustomerPolicy bean 的引用以及类型为 com.acme.DefaultCustomerPolicy 的内部 bean)?

Tnx

最佳答案

如果签名是这样的并且没有使用泛型,那么任何类型都可以添加到这个列表中。

public void setCustomerPollicies(java.util.List policies)

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

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

关于java - 如何在 Spring 中将 bean 集合创建为 XML Java 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060757/

相关文章:

java - 为什么有多个托管 Bean?

java - Android:对字符串中的匹配项进行着色

java - 为 Spring 单元测试注入(inject)模拟 @Service

java - 运行spring boot application error : Cannot instantiate interface org. springframework.context.ApplicationListener

tomcat - 复制任务中的问题

java - TableView 单元格自动换行

java - 根据正值或负值渲染 jtable 单元格前景

java - HttpRequestHandlingMessagingGateway JSON 数组有效负载

java - 为什么所有领先的开源 Java 库在它们的包之间都有循环依赖?

java - 使用 @Preauthorize 多个 Controller 进行注释时出现 Spring Security 错误