Bonjour voici mon probleme ,
J'ai 2 services (bean)
service1 et service2 que je declare dans mon applicationContext.xml
la methode methode1_a de mon serivce1 a besoin d'appeller la methode methode2_a de mon service2
donc je declare mon service2 en propriété :
jusque la pas de probleme :-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <bean id="service1" class="com.xx.xx.xx" lazy-init="true"> <property name="service2" > <ref bean="service2" /> </property> </bean>
ensuite j'ai la methode metode2_b de mon service2 a besoin d'appeler la methode methode1_b de mon service1
donc je declare mon service2 en propriété :
et là c'est le drame
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <bean id="service2" class="com.xx.xx.xx" lazy-init="true"> <property name="service1" > <ref bean="service1" /> </property> </bean>
le message d'erreur :
Pourriez vous me dire comment résoudre ce problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/secure/createTest' defined in ServletContext resource [/WEB-INF/action-servlet.xml]: Cannot resolve reference to bean 'service2' while setting bean property 'service1' nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'service2' Bean with name 'service2' has been injected into other beans [service1] in its raw version as part of a circular reference, but has eventually been wrapped (for example as part of auto-proxy creation). This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
Merci d'avance :-)
Partager