ho un riferimento circolarein uno dei miei progetti di lavoro con la primavera, che non sono in grado di risolvere, e non riesce con il seguente errore in fase di avvio:Primavera esempio di riferimento circolare
'org.springframework.security.authenticationManager': Requested bean is currently in creation: Is there an unresolvable circular reference?
ho cercato di ricreare lo stesso problema a un livello più piccolo in un progetto di esempio (senza tutti i dettagli del mio progetto di lavoro). Tuttavia, non sono riuscito a trovare uno scenario plausibile in cui la primavera fallisse con un errore. Ecco quello che ho:
public class ClassA {
@Autowired
ClassB classB;
}
public class ClassB {
@Autowired
ClassC classC;
}
@Component
public class ClassC {
@Autowired
ClassA classA;
}
@Configuration
public class Config {
@Bean
public ClassA classA() {
return new ClassA();
}
@Bean
public ClassB classB() {
return new ClassB();
}
}
Ho uno scenario simile nel mio progetto, che non riesce, e mi aspettavo la primavera a lamentarsi nel mio progetto di esempio pure. Ma funziona bene! Qualcuno può darmi un semplice esempio di come rompere la molla con l'errore di riferimento circolare?
Modifica: Ho risolto il problema utilizzando javax.inject.Provider. L'unica altra differenza nei 2 progetti era che le annotazioni usate erano javax.inject.Inject e javax.annotation.ManagedBean al posto di @Autowired e @Component.
Solo per aggiungere a questo, abbiamo riscontrato un problema simile (con l'iniezione di SpringTemplateEngine). La soluzione "setter injection" NON ha aiutato, ma l'annotazione '@ Lazy' ha funzionato. Sembra un cerotto su una ferita da proiettile, ma per ora prenderò la vittoria e andrò via. Grazie, signor Spaeth. – demaniak