salut , j'ai appliqué un tuto : je crée un projet spring , puis une classe et un bean.xml ou en met des données et en fin une classe contenant le test du code (le main) .

Developpeur.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.spring.test;
 
public class Developpeur {
	private String nom;
	private int annesExperiences;
 
	public String getNom() {
		return nom;
	}
	public void setNom(String nom) {
		this.nom = nom;
	}
	public int getAnnesExperiences() {
		return annesExperiences;
	}
	public void setAnnesExperiences(int annesExperiences) {
		this.annesExperiences = annesExperiences;
	}
 
 
 
}
SocDevlogiciel.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.spring.test;
 
public class SocDevlogiciel {
	private Developpeur developpeur;
	private Developpeur chefDeveloppeur;
 
	public Developpeur getDeveloppeur() {
		return developpeur;
	}
	public void setDeveloppeur(Developpeur developpeur) {
		this.developpeur = developpeur;
	}
	public Developpeur getChefdeveloppeur() {
		return chefDeveloppeur;
	}
	public void setChefdeveloppeur(Developpeur chefDeveloppeur) {
		this.chefDeveloppeur = chefDeveloppeur;
	}
 
}
Bean.xml (J'AI AJOUTER CE QUI EST EN ROUGE comme exercice)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<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 id="developpeur" class="com.spring.test.Developpeur">
	<property name="nom" value="Zouhir"></property>
	<property name="annesExperiences">
	<value>7</value>
	</property>
	</bean>
	<bean id="ChefDeveloppeur" class="com.spring.test.Developpeur">
	<property name="nom" value="Soufiane"></property>
	<property name="annesExperiences">
	<value>10</value>
	</property>
	</bean>	
	<bean id="SocDevlogiciel" class="com.spring.test.SocDevlogiciel">
	<property name="chefdeveloppeur" ref="ChefDeveloppeur"></property>
	<property name="developpeur" ref="developpeur"></property>
	
	</bean>
	</beans>
dans un autre package ,
TestApp.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.spring.test.test;
 
import org.springframework.util.ClassUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import com.spring.test.SocDevlogiciel;
 
public class TestApp {
	private static final Logger logger = Logger.getLogger(TestApp.class);
	/**
         * @param args
         */
     public static void main(String[] args) {
    	 BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource ("test-bean.xml"));
    	 SocDevlogiciel societe = (SocDevlogiciel) beanFactory.getBean("SocDevLogiciel");
    	 logger.info("chef Developpeur :" +societe.getChefdeveloppeur().getNom());
    	 logger.info("Developpeur :" +societe.getDeveloppeur().getNom());
 
     }
}
normalment à la fin quand je fais un run on console , la console doit m'afficher le nom du developpeur et du chefdeveloppeur (selon le tuto) , sauf que le tuto te donne juste faire la premiére partie du bean.xml c'est à dire le primier programmeur et le deuxiéme je dois le faire (comme exercice) ainsi que la societé de logiciel qui reference les deux developpeur.
or il m'affiche ceci
log4j:WARN No appenders could be found for logger (org.springframework.util.ClassUtils).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [test-bean.xml]; nested exception is java.io.FileNotFoundException: class path resource [test-bean.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)
at com.spring.test.test.TestApp.main(TestApp.java:16)
Caused by: java.io.FileNotFoundException: class path resource [test-bean.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:142)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
... 4 more
sachant que le log4j est tel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC
	"http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd"
	"http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd">
 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
 
    <layout class="org.apache.log4j.SimpleLayout"/> 
  </appender> 
 
  <root> 
    <level value ="info" /> 
    <appender-ref ref="console" /> 
  </root>
 
</log4j:configuration>
Quelqu'un saurait afficher le noms des deux développeurs ?