Rolle des neuen Schlüsselworts in Spring Framework

Im Spring Framework scheint es wiebeans sind die bevorzugte Methode zum Erstellen von Objekten zur Verwendung in der Geschäftslogik.

[Abhängigkeitsinjektion] ist ein Prozess, bei dem Objekte ihre Abhängigkeiten definieren, d. H. Die anderen Objekte, mit denen sie arbeiten, nur über Konstruktorargumente, Argumente für eine Factory-Methode oder Eigenschaften, die für die Objektinstanz festgelegt werden, nachdem sie erstellt oder zurückgegeben wurde von einer Fabrikmethode. Der Container fügt diese Abhängigkeiten dann ein, wenn er die Bean erstellt. Dieser Prozess ist im Grunde genommen das Inverse, daher der Name Inversion of Control (IoC), der Bean selbst, der die Instanziierung oder den Ort seiner Abhängigkeiten kontrolliert, indem er die direkte Konstruktion von Klassen oder einen Mechanismus wie das Service Locator-Muster verwende

So nach meinem einfachen Verständnis ist der Unterschied ungefähr so:

// Plain ol' Java
Foo f = new Foo();

// Using beans in Spring Framework
Foo f = FooFactory.get();

Ist es eine Vereinfachung zu sagen, dass in der Regel in Methoden außerhalb von@Configuration Klassen und@Bean Definitionen sollten Entwickler Objekte nur mit Beans erhalten? Insbesondere, wenn ich ein neues Objekt haben möchte, sollte ich eine Prototyp-Bean injizieren, anstatt das @ zu verwendenew Keyword direkt?

Ein Beispiel für Code, bei dem ich nicht sicher bin, ob ich die Spring-Konventionen befolge, wird unten gezeigt.

// Construct a new object that will be created in the database
RecordDto record = new RecordDto();

// Or should I be using some bean factory?
RecordDto record = RecordDtoFactory.get();

Antworten auf die Frage(2)

Ihre Antwort auf die Frage