Was ist das Spring Framework?

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.

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.

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.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: