Bonjour à tous !
Je suis entrain de m'autoformer à Spring. J'ai donc créé un projet Eclipse Java simple, installé Spring IDE et ajouté Spring nature au projet. J'ai créé une classe de test que voici :
Mon beans.xml :
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 public class Test { private CompanyDao companyDao; private ApplicationContext context; public Test(){ this.context = new ClassPathXmlApplicationContext("beans.xml"); } public void setCompanyDao(CompanyDao companyDao){ this.companyDao = companyDao; } public CompanyDao getCompanyDao(){ return this.companyDao; } }
Dans mon Main, je fais un new Test() et puis un print en fonction de la valeur de test.getCompanyDao() pour savoir si l'injection a fonctionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <bean id="CompanyDao" class="jsm.jdbc.dao.impl.CompanyDaoImpl"> </bean> <bean id="Test" class="jsm.Test"> <property name="companyDao"> <ref local="CompanyDao" /> </property> </bean>
Problème, à l'exécution dans eclipse, j'ai ceci
Pourtant, tous les jars sont ajoutés au ClassPath, dont org.springframework.beans qui contient bien la classe FatalBeanException...
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 Exception in thread "main" java.lang.NoClassDefFoundError: org.springframework.beans.FatalBeanException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:946) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:892) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) at jsm.Test.<init>(Test.java:13) at jsm.Main.main(Main.java:10)
Alors je ne comprends plus !
Si quelqu'un pouvait m'éclairer...![]()
Partager