Tutorials  /  JavaScript

Was ist das Spring Framework?

Ccentron Redaktion · Januar 2024 ·6 Min. Lesezeit ·JavaScript, Tutorial

Das Spring Framework ist eines der beliebtesten Java EE Frameworks. Entwickler auf der ganzen Welt nutzen Spring, um zuverlässige und qualitativ hochwertige Anwendungen zu entwickeln. Das Spring Framework wurde von Rod Johnson entworfen. Seitdem ist Spring eine alternative Technologie in der Java-Welt zum EJB-Modell geworden. Mit dem Spring Framework können Sie verschiedene Arten von Anwendungen erstellen.

Key Learning Points im Spring Framework

In diesem Artikel werden wir Folgendes lernen:

  • Architektur des Spring Frameworks
  • Kernkomponenten von Spring
  • Verschiedene Projekte unter dem Dach des Spring Frameworks.
VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Spring Core-Konzepte - DI, IoC, AOP

  • Es ist unmöglich zu verstehen, was das Spring Framework ist, ohne zu verstehen, was Dependency Injection und Inversion of Control ist. Dependency Injection, auch als DI bekannt, ist eine der Arten von Inversion of Control (IoC).
  • Inversion of Control - dies ist das Prinzip der objektorientierten Programmierung, bei dem die Objekte des Programms nicht von konkreten Implementierungen anderer Objekte abhängen, sondern Kenntnisse über ihre Abstraktionen (Schnittstellen) für die spätere Interaktion haben können.
  • Dependency Injection - ist eine Zusammensetzung von strukturellen Entwurfsmustern, bei denen für jede Funktion der Anwendung ein eigenes, bedingt unabhängiges Objekt (Service) existiert, das andere Objekte (Abhängigkeiten), die es über Schnittstellen kennt, nutzen kann. Abhängigkeiten werden dem Service zum Zeitpunkt seiner Erstellung übertragen (implementiert). Dies ist eine Situation, in der wir ein Element einer Klasse in eine andere einführen. In der Praxis wird DI durch das Übergeben von Parametern an den Konstruktor oder die Verwendung von Settern implementiert. Bibliotheken, die diesen Ansatz implementieren, werden auch als IoC-Container bezeichnet.
  • Aspektorientierte Programmierung - ein Programmierparadigma, das es ermöglicht, durchgehende (funktionale) Funktionalitäten in der Anwendung zu unterscheiden. Diese Funktionen, die mehrere Anwendungsknoten umspannen, werden als Querschnittsbelange bezeichnet und diese Querschnittsnoten werden von der unmittelbaren Geschäftslogik der Anwendung getrennt. In OOP ist die Schlüsseleinheit die Klasse, während in AOP das Schlüsselelement der Aspekt ist. DI hilft, Anwendungsklassen in separate Module zu unterteilen, und AOP hilft, Querschnittsbelange von den Objekten, die sie betreffen, zu trennen.

Architektur des Spring Frameworks

Das Spring Framework ist in eine Reihe von separaten Modulen unterteilt, was Ihnen die Entscheidung ermöglicht, welche davon Sie in Ihrer Anwendung verwenden möchten. Das folgende Bild veranschaulicht die wichtigsten Module der Spring Framework-Architektur.

Spring framework architecture

Kernkomponenten des Spring Frameworks

Der Core-Container von Spring besteht aus vier Modulen: SpEL, Context, Core, Beans. Die Beschreibung dieser Elemente ist wie folgt:

  • Das SpEL-Modul bietet eine leistungsstarke Ausdruckssprache zur Manipulation von Objekten während der Ausführung.
  • Context basiert auf Beans und Core und ermöglicht den Zugriff auf jedes Objekt, das in den Einstellungen definiert ist. Das Schlüsselelement des Context-Moduls ist die ApplicationContext-Schnittstelle.
  • Das Core-Modul bietet Schlüsselteile des Frameworks, einschließlich IoC und DI-Eigenschaften.
  • Das Bean-Modul ist verantwortlich für die Erstellung und Verwaltung von Spring Beans - ist Einheit der Anwendungskontextstruktur.

Spring Framework Web

Die Web-Schicht des Spring Frameworks besteht aus Web, Web-MVC, Web-Socket, Web-Portlet usw.

  1. Das Web-Modul bietet Funktionen wie Datei-Downloads, Erstellung von Webanwendungen, Rest-Webdienste usw.
  2. Web-MVC enthält eine Spring MVC-Implementierung für Webanwendungen.
  3. Web-Socket bietet Unterstützung für die Kommunikation zwischen Client und Server unter Verwendung von Web-Sockets in Webanwendungen.
  4. Web-Portlet bietet eine MVC-Implementierung mit Portlet-Umgebung.

Spring Framework Datenzugriff

Der Datenzugriff/Integrationscontainer besteht aus JDBC, ORM, OXM, JMS und dem Transaktionsmodul.

  1. JDBC bietet eine abstrakte Schicht von JDBC und eliminiert die Notwendigkeit für den Entwickler, den monotonen Code, der mit der Verbindung zur Datenbank verbunden ist, manuell zu registrieren.
  2. Spring ORM bietet Integration mit beliebten ORMs wie Hibernate, JDO, die Implementierungen von JPA sind.
  3. Das OXM-Modul ist verantwortlich für die Verknüpfung von Objekt/XML - XMLBeans, JAXB usw.
  4. Das JMS (Java Messaging Service)-Modul ist verantwortlich für das Erstellen, Senden und Empfangen von Nachrichten.
  5. Transaktionen unterstützen das Transaktionsmanagement für Klassen, die bestimmte Methoden implementieren und POJOs.

Verschiedene Module

Spring umfasst auch eine Reihe anderer wichtiger Module, wie AOP, Aspects, Instrumentation, Messaging und Test.

  1. AOP implementiert die aspektorientierte Programmierung und ermöglicht die Nutzung des gesamten AOP-Arsenals.
  2. Das Aspects-Modul bietet Integration mit AspectJ, das ebenfalls ein leistungsstarkes AOP-Framework ist.
  3. Instrumentation ist verantwortlich für die Unterstützung von Klasseninstrumentierung und Class Loader, die in Serveranwendungen verwendet werden.
  4. Das Messaging-Modul bietet STOMP-Unterstützung.
  5. Schließlich bietet das Test-Modul Tests mit TestNG oder dem JUnit Framework.

Spring 5 Funktionen

Spring 5 brachte ein massives Update zu Spring 4. Einige der wichtigen Funktionen von Spring 5 sind:

    1. Unterstützung für Java 8, Java 9, Java EE 7, Java EE 8, Servlet 4.0, Bean Validation 2.0 und JPA 2.2. Ich freue mich zu sehen, dass Spring versucht, mit den neuesten Versionen der wichtigsten Technologien Schritt zu halten.
    2. Verbessertes Logging mit neuem Modul - spring-jcl.
    3. Dateioperationen verwenden NIO 2-Streams, daher verbesserte Leistung.
    4. Unterstützung für Reactor 3.1 Flux und Mono sowie RxJava 1.3 und 2.1 als Rückgabewerte von Spring MVC-Controllermethoden.
    5. Unterstützung für Kotlin, Project Lombok, JSON-Bindungs-API als Alternative zu Jackson und GSON.
    6. Spring WebFlux - Spring wird reaktiv.
    7. Unterstützung für JUnit 5
    8. Funktionale Programmierunterstützung durch Kotlin.
Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren