JavaRush /Java-Blog /Random-DE /Vorteile der Verwendung von Spring
Alex
Level 37

Vorteile der Verwendung von Spring

Veröffentlicht in der Gruppe Random-DE
Viele unerfahrene Entwickler stoßen früher oder später auf Spring , ein beliebtes Framework für die Entwicklung von Anwendungen in Java. Mit Spring können Sie vor allem die Entwicklung von J2EE-Anwendungen für den Entwickler vereinfachen. Hier sind die Hauptvorteile, die ein Entwickler durch die Verwendung von Spring erhält:
Vorteile der Verwendung von Spring – 1
  • Spring bietet einen Rahmen für Ihre zukünftige Bewerbung, wenn Sie einen „Leerraum“ für Ihre zukünftige Bewerbung wünschen. Gleichzeitig gibt das Framework die Regeln für die Erstellung der Anwendung vor – es gibt eine bestimmte Anwendungsarchitektur, in die Sie Ihre Funktionalität integrieren müssen. Diese Funktionalität wird tatsächlich die Geschäftslogik Ihrer Anwendung sein. Spring umfasst viele Unterprojekte, die auf bestimmte Funktionen zugeschnitten sind (SpringMVC, Spring Security, SpringData usw. die vollständige Liste finden Sie unter https://spring.io/projects ), aus denen der Entwickler das für ihn am besten geeignete auswählen kann Verwenden Sie den Rest nicht – dies ist ein modulares Prinzip beim Erstellen einer Anwendung.

  • In einer Spring-basierten Anwendung werden Objekte mithilfe der Abhängigkeitsinjektion lose gekoppelt. Eines der Ziele von Spring bestand darin, die Abhängigkeit einiger Objekte von anderen aufzuheben. Was ist Sucht? Dies ist der Fall, wenn Objekt1 die Methoden eines anderen Objekt2 verwendet, d. h. Objekt1 ist von Objekt2 abhängig, dessen Methoden es verwendet. Warum ist er abhängig? Denn solange das Objekt Object2 nicht erstellt ist, kann Object1 seine Funktionalität nicht implementieren. Wie kann man die Sucht durchbrechen? „Injizieren“ Sie über einen Konstruktor oder Setter einen Verweis auf das Object2-Objekt in das Object1-Objekt. Dieser Prozess ist eigentlich eine Abhängigkeitsinjektion. Es ist wichtig zu bedenken, dass in Spring Objekte auf der Basis von Schnittstellen erstellt werden müssen, sodass Abhängigkeiten in Form einer Schnittstelle für einen möglichen späteren Ersatz der Implementierung eingefügt werden.

  • Sie müssen Objekte nicht manuell mit dem neuen Operator erstellen. Diese Funktion wurde an den Spring-Container delegiert. Dabei handelt es sich um Inversion of Control (IoC) – die Übertragung der Funktion der Instanziierung der notwendigen Abhängigkeiten (Objekte) auf den Container. Welche Rolle spielt der Entwickler bei all dem, fragen Sie? Deklarieren Sie die Komponente so, dass sie in den Spring-Kontext fällt. Der Kontext von Spring ist, vereinfacht gesagt, eine Karte, auf der sich alle Bohnen befinden. Wenn sie sagen, dass eine Bean im Kontext von Spring steht, bedenken Sie, dass sich die Bean in der Karte befindet und Spring den Schlüssel kennt, um sie aus der Karte abzurufen. Alles, was in der XML-Konfiguration oder in Klassen mit @Component-Annotationen als Bean markiert ist, wird instanziiert und in einer Map der Form Map<key,bean> Map platziert, d.h. Der Container hat eine Karte, in der er alle Beans „speichert“ (das Schlüsselkonzept in Spring ist eine Bean, das ist eine vom Container verwaltete Entität. Damit eine Bean (gewöhnliche Klasse) verwaltet werden kann, muss sie in die fallen Spring-Kontext.) und ggf. Implementierung führt der Container etwa Folgendes aus: map.get(key), der Schlüssel ist der Feldtyp;

  • Spring befreit Sie nicht nur von der Notwendigkeit, Objekte zu erstellen, sondern auch von der Notwendigkeit, diese zu verknüpfen. Mit der Annotation @Autowired können Sie beispielsweise Komponenten automatisch vernetzen. Die @Autowired-Spring-Annotation könnte einfach so beschrieben werden: Lieber Freund, Spring-Container, bitte schauen Sie in Ihrer Map mit Beans nach, ob Sie die Klasseninstanz oder Implementierungen von dem haben, wovor ich stehe. Wenn ja, geben Sie mir einen Link in das Feld ein, vor dem ich deklariert bin. Durch die automatische Verknüpfung können Sie die Codemenge bei der Ermittlung von Komponentenabhängigkeiten reduzieren.

  • In Spring sind Bean-Einstellungen vom Programmcode getrennt. Das Verschieben der Konfiguration (Abhängigkeitsmanagement) in eine separate Datei erleichtert spätere Änderungen im Projekt (Ersetzen von Implementierungen):


    • verbesserte Testbarkeit. Wenn Klassen auf der Grundlage von DI und Schnittstellen entworfen werden, wird es möglich, Abhängigkeiten (durch gefälschte Implementierungen) während des Testens einfach zu ersetzen;

    • Die Möglichkeit, mithilfe von Anmerkungen in einem deklarativen Stil zu programmieren, reduziert die Codemenge in der Anwendung.

    • Unterstützung und gute Integration mit Datenzugriffstechnologien, Transaktionen, AOP vereinfacht die Entwicklung;

    • Eine gute Dokumentation hilft sehr beim Debuggen einer Anwendung.
Wer den Frühling verstehen möchte, dem empfehle ich die Lektüre von K. Walls. Spring in Action – 3. Edition und natürlich die offizielle Dokumentation.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION