Несколько реализаций, переданных в списке - PullRequest
0 голосов
/ 30 ноября 2010

Я новичок в весне. У меня есть этот вопрос, который беспокоит меня уже некоторое время.Любая помощь приветствуется.

Существует интерфейс, который вызывает метод получения.

interface MessageHandler{

    public List GetMessageCheckerList();

}

Существует еще один интерфейс, называемый MessageChecker, который имеет несколько реализаций.Скажем, MessageChecker1, TestChecker и т. Д. (На данный момент предположим 2)

Теперь, как мне определить это в файле XML конфигурации.

У меня фактически создан компонент,

вот остаток кода

<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>

Пожалуйста, дайте совет

Когда я запускаю программу с помощью основного метода, я получаю дескриптор одного изbean-компоненты, HL7Checker должен быть передан в виде списка компоненту с ID = messageHandler.Но когда я распечатаю список.Он пуст.

Не используя spring и только используя методы getter и setter, я могу «установить» список и получить его, используя Get.

1 Ответ

2 голосов
/ 30 ноября 2010
  1. Почти все ваши имена не соответствуют соглашениям об именах Java.Это затрудняет понимание вашего кода другими пользователями.
  2. Тег <ref> ожидает имя объекта , а не имя класса .Поэтому вам нужно определить <bean id="testChecker" class="com.test.TestChecker" />, прежде чем вы сможете ссылаться на него.
  3. Не используйте имя пакета com.Test.Во-первых, он должен содержать только строчные буквы.Во-вторых, вы должны быть владельцем этого имени.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...