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 : 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>
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 : 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>
et là c'est le drame

le message d'erreur :
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.
Pourriez vous me dire comment résoudre ce problème.

Merci d'avance :-)