Ich bin mit folgenden Ausgabe fest:Kreisabhängigkeit im Frühjahr Injektion - Ist das schlechtes Design?
Ich versuche, Bohnen wie folgt zu erstellen:
@Bean
public abc createABC() {
return new ABC(--, def(),--);
}
`
@Bean
public DEF def() {
return new DEF(--, createABC(),--
}
Irgendwelche Vorschläge, um dieses Problem zu bekommen, ohne Basis Injektion Setter chaging zu . Ist es ein Hinweis auf schlechtes Design? In meiner Situation ist diese Abhängigkeit notwendig. Bitte geben Sie Ihre Standpunkte zu diesem
Der Ausweg ist Setter basierte Injektion. Am Ende des Tages müssen Sie eine Bohne nach der anderen erstellen. Was immer Sie zuerst erstellen, kann nicht den anderen im Konstruktoraufruf übergeben haben. – Henry
@Jim Garrison Das OP möchte auch wissen, ob das schlechte Design ist. Können Sie mich auf eine Antwort in dem Duplikat hinweisen, die erklärt, ob dies ein Hinweis auf schlechtes Design ist? Während diese Frage über Feder- und zyklische Abhängigkeiten spricht, handelt es sich nicht um ein Duplikat, da das OP eindeutig angibt, dass er nicht auf eine setzerbasierte Injektion zurückgreifen möchte. Können Sie das Veto beim Schließen der Frage noch einmal überdenken? – CKing
Sie müssen die Setter-basierte Injektion verwenden, da Sie zuerst die Objekte erstellen und dann die gegenseitigen Abhängigkeitsreferenzen einfügen müssen. Dies kann nicht zur Konstruktionszeit erfolgen. –