gpt4 book ai didi

java - 在列表中传递多个实现

转载 作者:行者123 更新时间:2023-12-02 08:26:58 25 4
gpt4 key购买 nike

我是 Spring 新手,这个问题已经困扰我一段时间了。任何帮助将不胜感激。

有一个调用 getter 方法的接口(interface)。

interface MessageHandler{

public List GetMessageCheckerList();

}

还有另一个名为 MessageChecker 的接口(interface),它有多个实现。比如说 MessageChecker1、TestChecker 等(暂时假设为 2)

现在我如何在配置 xml 文件中定义它。

我实际上已经创建了bean,

这是其余的代码

<bean id="checkerList" class="java.util.ArrayList">
<constructor-arg>
<list>
<ref bean="HL7Checker"/>
</list>
</constructor-arg>
</bean>


<bean id="HL7Checker" class="com.kahootz.messagereceiver.HL7CheckerImpl">
<property name="messageExecutor" ref="Executor"/>
</bean>

请多多指教

当我实际使用 main 方法运行程序时,我得到了其中一个 Bean 的句柄,HL7Checker 应该以列表形式传递给 ID=messageHandler 的 Bean。但当我打印出 list 时。它是空的。

在不使用 spring 且仅使用 getter 和 setter 方法的情况下,我可以“设置”列表并使用 Get 检索它。

最佳答案

  1. 您的几乎所有名称都不符合 Java 命名约定。这使得其他人很难理解您的代码。
  2. <ref>标签需要对象的名称,而不是的名称。所以你需要定义一个<bean id="testChecker" class="com.test.TestChecker" />在您可以引用它之前。
  3. 不要使用包名称 com.Test 。首先,它应该只包含小写字母。其次,您应该是该名称的所有者。

关于java - 在列表中传递多个实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4309508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com