Pouvez-vous m'éclairer sur ce problème que j'ai rencontré lors de mes expériences avec Spring?Nom du haricot de printemps lors de l'importation d'un autre contexte de ressort
J'ai 2 contexte ici. nous allons les nommer springA.xml et springB.xml
springA.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="springB.xml" />
<bean name="name2" class="java.lang.String"/>
</beans>
springB.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean name="name2,name3" class="java.lang.String"/>
</beans>
springC.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean name="name3,name2" class="java.lang.String"/>
</beans>
Et ceci est mon fichier Java.
public static void main(String[] args) {
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("springA.xml"));
Object obj1 = factory.getBean("name2");
Object obj2 = factory.getBean("name3");
System.out.println(obj1.getClass().getName() + " " + obj2.getClass().getName());
}
Et le résultat, je reçois un "java.lang.String java.lang.String". Si je change la position de le nom "nom2, NAME3" à "NAME3, nom2" (springC.xml), je reçois un "java.lang.Object java.lang.Object".
Je suis juste confus quant à la raison pour laquelle le résultat est comme ça. Je m'attendais à ce que la fonction renvoie java.lang.String pour name2 et java.lang.Object pour name3 (puisque name2 est déjà utilisé dans springA.xml, je suppose que ce nom ne sera pas utilisé et utilisera plutôt name3 pour springB.xml)
Merci!
PS: Spring 2.5 Eclipse 3.5
Que voulez-vous dire "changer la position de"? S'il vous plaît nous montrer les deux différentes méthodes 'main', plutôt que de décrire les différences. – skaffman
J'ai ajouté springC.xml. J'espère que cela peut vous aider à mieux comprendre le problème. – qaxi
Pas vraiment, non. – skaffman