Ich habe eine zirkuläre Referenz in einem meine Projekte bei der Arbeit Feder verwendet, die ich nicht in der Lage bin zu beheben, und schlägt mit dem folgenden Fehler beim Start:Frühling Kreisreferenzbeispiel
'org.springframework.security.authenticationManager': Requested bean is currently in creation: Is there an unresolvable circular reference?
Ich habe versucht, Erstellen Sie das gleiche Problem auf einer kleineren Ebene in einem Beispielprojekt (ohne alle Details meines Arbeitsprojekts). Ich habe jedoch kein plausibles Szenario gefunden, in dem der Frühling mit einem Fehler versagt. Hier ist, was ich habe:
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();
}
}
ich ein ähnliches Szenario in meinem Projekt haben, das ausfällt, und ich erwartete Frühling als auch in meinem Beispielprojekt zu beklagen. Aber es funktioniert gut! Kann mir jemand ein einfaches Beispiel dafür geben, wie man den Federbruch mit dem kreisförmigen Referenzfehler unterbricht?
Bearbeiten: Ich habe das Problem mit javax.inject.Provider behoben. Der einzige andere Unterschied in den 2 Projekten waren die verwendeten Annotationen javax.inject.Inject und javax.annotation.ManagedBean anstelle von @Autowired und @Component.
Nur um das hinzuzufügen, haben wir ein ähnliches Problem (mit der Injektion von SpringTemplateEngine). Die "Setter-Injektion" -Lösung hat NICHT geholfen, aber die '@ Lazy'-Annotation hat es geschafft. Es fühlt sich an wie ein Pflaster vor einer Schusswunde, aber jetzt werde ich den Sieg davontragen und weggehen. Danke Herr Späth. – demaniak