Je suis très nouveau au printemps. J'ai une interface (MessageHandler) qui a une méthode get, cette méthode retourne une liste d'implémentations d'une autre interface (messageChecker).Spring Fichier de configuration constitué d'une liste d'implémentations
public interface MessageHandler {
public void process(BufferedReader br);
public void setMessageCheckerList(List mcList);
[B]public List getMessageCheckerList();[/B]
}
Dans ma configuration XML Spring, j'ai quelque chose comme ça, ainsi que d'autres haricots
<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>
Ici je passe un checkerlist - qui est une liste de Implémentations (Pour l'instant j'ai seulement 1) de l'interface (messageChecker)
Checkerlist contient des références à des identifiants de bean qui sont des implémentations réelles. HL7Checker est une implémentation d'une interface MessageChecker.
Mais quand j'exécute le programme principal, Quand j'injecte le bean "messageHandler" et appelle le getMessageCheckerList, Il renvoie une valeur nulle. Ces méthodes getter et setter fonctionnent bien sans utiliser de ressort.
Je ne suis pas sûr de ce qui semble être le problème.
Merci Grzegorz, j'avais créé un nouveau messagehandler dans mon implémentation. Cela fonctionne bien maintenant. – velapanur