Wann soll der javax.inject.Provider im Frühjahr verwendet werden?

Was es tut, ist ziemlich einfach:

@Inject
private Provider<ProductService> productService;

Der Produktservice ist über verfügbarproductService.get() und.get() Löst die Instanz bei jedem Aufruf aus dem Spring-Kontext auf.

Aber wann soll ich es benutzen? Und wo?

Mein Hauptanwendungsfall ist ziemlich einfach: Wenn ich zirkuläre Abhängigkeiten erhalte, hilft der Anbieter, die Abhängigkeit zur Laufzeit aufzulösen. Aber es sieht ein bisschen zufällig aus, wenn Sie es nur dann einwerfen, wenn Sie Ihren Kontext aufgrund einer zirkulären Abhängigkeit nicht erstellen können.

Gibt es bekannte Muster zur Nutzung von Providern?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage