Problème Référence Circulaire
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é :
Code:
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> |
jusque la pas de probleme :-)
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é :
Code:
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> |
et là c'est le drame
le message d'erreur :
Code:
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. |
Pourriez vous me dire comment résoudre ce problème.
Merci d'avance :-)