【发布时间】:2010-11-30 18:02:55
【问题描述】:
我对 Spring 很陌生。我有一个接口(MessageHandler),它有一个 get 方法,这个方法返回另一个接口(messageChecker)的实现列表。
public interface MessageHandler {
public void process(BufferedReader br);
public void setMessageCheckerList(List mcList);
[B]public List getMessageCheckerList();[/B]
}
在我的 Spring XML 配置中,我有类似的东西,以及其他 bean
<bean id="messageHandler" class="com.XXX.messagereceiver.MessageHandlerImpl">
<property name="messageCheckerList" ref="checkerList"/>
</bean>
<bean id="checkerList" class="java.util.ArrayList">
<constructor-arg>
<list>
<ref bean="HL7Checker"/>
</list>
</constructor-arg>
</bean>
<bean id="HL7Checker" class="com.XXX.messagereceiver.HL7CheckerImpl">
<property name="messageExecutor" ref="kahootzExecutor"/>
</bean>
我在这里传递了一个检查表 - 这是接口 (messageChecker) 的实现列表(目前我只有 1 个)
Checkerlist 包含对实际实现的 Bean Id 的引用。
HL7Checker 是一个接口 messageChecker 的实现。
但是当我运行主程序时,当我注入 bean“messageHandler”并调用 getMessageCheckerList 时,它返回一个空值。这些 getter 和 setter 方法在不使用 spring 的情况下也能正常工作。
我不确定似乎是什么问题。
【问题讨论】:
标签: java spring configuration dependency-injection