Spring Framework ist ein leistungsstarkes Open-Source-Framework für die Entwicklung von Java-Anwendungen, mit dem Sie auf einfache Weise robuste und leistungsstarke Anwendungen erstellen können.
Open-Source bedeutet, dass der Quellcode frei zugänglich ist und von jedermann verändert und weitergegeben werden kann.
Ein Open-Source-Anwendungsframework ist eine Vorlage für die Softwareentwicklung, die von einer Gruppe von Softwareentwicklern erstellt wurde. Es gibt verschiedene Arten von Vorlagen, die für unterschiedliche Zwecke verwendet werden, z. B. für die Erstellung von Benutzeroberflächen, Websites und einfachen Softwareanwendungen.
Wenn Sie neu in der Anwendungsentwicklung sind, könnte der Einstieg in Spring Framework ein guter Anfang für Sie sein. In diesem Artikel erfahren Sie, was es ist und wie Sie es verwenden können.
Was ist Spring Framework?

Spring Framework ist ein Open-Source-Framework, das Entwickler zur Erstellung von Java-Unternehmensanwendungen verwenden. Dieses Framework wurde von Rod Johnson entwickelt und im Jahr 2003 unter der Apache 2.0 Lizenz veröffentlicht.
Einige Programmierer schimpfen gewöhnlich über Java und behaupten, es sei zu schwerfällig, um einfache Anwendungen zu erstellen. Spring Framework zielt darauf ab, den mühsamen und komplexen Prozess der Entwicklung von Java-Unternehmensanwendungen zu vereinfachen.
Spring ist umfangreich. Es ist daher ratsam, dass Sie zunächst verstehen, was das Spring-Framework ist, bevor Sie mit anderen Spring-basierten Projekten wie Spring Boot, Spring GraphQL und Spring Cloud beginnen.
Warum Spring Framework verwenden?
- Flexibel. Dieses Framework bietet Technologien wie die aspektorientierte Programmierung (AOP), Dependency Injection (DI) und Plain Old Java Object (POJO). Sie können Spring auch zur Erreichung verschiedener Ziele einsetzen.
- Der Frühling ist schnell. Trotz all dieser Technologien ist Spring Framework immer noch leichtgewichtig, was es ideal für die Erstellung skalierbarer und robuster Webanwendungen für Unternehmen macht.
- Tolle Gemeinschaft. Spring verfügt über eine vielfältige Gemeinschaft, auf die Sie sich verlassen können und die Ihnen in der Not mit verschiedenen Lösungen hilft.
- Sicher. Spring ist für seine Sicherheitsmaßnahmen bekannt, und Schwachstellen werden durch häufige Patches behoben. Die Abhängigkeiten von Drittanbietern werden stets überwacht, um sicherzustellen, dass ihre Schwachstellen den Kernprozess nicht beeinträchtigen.
- Produktiv. Spring Framework rationalisiert die Erfahrung bei der Entwicklung von Java-Unternehmensanwendungen.
Federn Merkmale
Unterstützt aspektorientierte Programmierung
Die aspektorientierte Programmierung bietet mehr Modularität für übergreifende Belange. AOP ist auch eine Ergänzung zur objektorientierten Programmierung.
Die Haupteinheit der Modularität in AOP ist ein übergreifendes Anliegen (Aspect). Entwickler können so deklarative Unternehmensdienste und benutzerdefinierte Aspekte erstellen.
Inversion der Kontrolle (IoC) Container
IoC-Container bieten eine optimierte Möglichkeit zur Verwaltung und Konfiguration von Java-Objekten. Der Lebenszyklus eines definierten Java-Objekts wird von diesem Container verwaltet, was die Rekonfigurierbarkeit einer Spring-basierten Anwendung deutlich erhöht.
Inversion of Control nutzt die Muster Dependency Lookup oder Dependency Injection, um die Objektreferenz zur Laufzeit anzubieten. Der IoC-Container enthält den für die Konfigurationsverwaltung erforderlichen Assembler-Code.
Framework für den Datenzugriff
Die Datenkommunikation wird vereinfacht, da Spring direkte Unterstützung für Hibernate, JDBC und Java Persistence API (JPA) bietet, einige der beliebtesten Datenzugriffs-Frameworks in Java. Sie können sich auch darauf verlassen, dass dieses Framework Funktionen wie Ressourcen-Wrapping, Ausnahmebehandlung und Ressourcenverwaltung für alle unterstützten Datenzugriffs-Frameworks bietet.
Spring MVC-Framework
Entwickler können mit diesem anforderungsbasierten Framework maßgeschneiderte MVC-Implementierungen erstellen, die ihren Bedürfnissen entsprechen.
Das Herzstück von Spring MVC ist die Klasse DispatcherServlet, die die Aufgabe hat, die Anfragen der Benutzer zu bearbeiten und sie dann an den richtigen Controller weiterzuleiten. Der Controller kann so eine Anfrage verarbeiten, ein Modell erstellen und dem Endbenutzer über eine bestimmte Ansicht Informationen anbieten.
Verfügt über mehrere Test-Frameworks
Sie können Ihre Spring-basierten Anwendungen während der Entwicklung mit Hilfe von Mock-Objekten, dem TestContext-Framework oder Spring MVC Test testen.
Sprachunterstützung
Das Spring-Framework unterstützt Groovy und Kotlin.
Spring-Architektur
Das Spring-Framework wird mit etwa 20 Modulen geliefert. Das Gute an diesem Framework ist, dass Sie die Module auswählen können, die für Ihren Anwendungsfall geeignet sind. Diese Module sind gruppiert in Core Container, AOP (Aspect Oriented Programming), Data Access/Integration, Web, Instrumentation und Test.

#1. Kern-Container
Der Core Container von Spring Framework enthält die Sprachmodelle Core, Beans, Context und Expression. Diese Sprachmodelle sind auf folgende Weise nützlich;
- Das Kernmodul ist der grundlegende Teil des Frameworks. Im Core finden Sie die Funktionen IoC und Dependency Injection.
- Das Bohnen-Modul ist bekannt für BeanFactory, eine ausgefeilte Implementierung des Factory-Musters.
- Das Kontext-Modul baut auf den Modulen Core und Bean auf. Dieses Modul erbt seine Funktionen vom Bean-Modul, bietet aber zusätzlich Unterstützung für die Internationalisierung.
- Das Modul Ausdrucksform Sprache bietet eine leistungsstarke Ausdruckssprache zur Manipulation und Abfrage eines Objektgraphen zur Laufzeit.
#2. Datenzugriff/Integration
Die Module JDBC, ORM, OXM, JMS und Transaction bilden die Datenzugriffs-/Integrationsschicht. Diese Module erfüllen die folgenden Aufgaben;
- Das JDBC-Modul verfügt über eine JBDC-Abstraktionsschicht, die eine mühsame JDBC-Codierung sowie das Parsen von datenbankanbieterspezifischen Fehlercodes überflüssig macht.
- Das ORM-Modul ist eine Integrationsschicht für einige der gängigen objektrelationalen Mapping-APIs wie JPA, JDO, Hibernate und iBatis. '
- Das OXM-Modul ist eine Abstraktionsschicht, die Object/XML-Mapping-Implementierungen für XStream, JAXB, JiBX, Castor und XMLBeans unterstützt.
- Das Transaktionsmodul unterstützt das deklarative und programmatische Transaktionsmanagement für Klassen, die spezielle Schnittstellen implementieren.
- Das Modul Java-Nachrichtendienst (JMS) verfügt über Funktionen, die Nachrichten produzieren und konsumieren.
#3. AOP (Aspektorientierte Programmierung) und Instrumentierung
Dieses Modul verfügt über eine AOP-Alliance-konforme Implementierung der aspektorientierten Programmierung, mit der sich Dinge wie Methoden-Interceptoren leicht definieren lassen. Auf der anderen Seite bietet das Modul Instrumentation Unterstützung für Classloader und Klasseninstrumentierung, die in bestimmten Anwendungsservern verwendet werden können.
#4. Web
Die Module Web, Web-Servlet, Web-Struts und Web-Portlet bilden die Web-Schicht.
- Das Web-Modul ist für die grundlegenden weborientierten Integrationsfunktionen wie den mehrteiligen Dateiupload zuständig.
- Das Web-Servlet-Modul enthält die MVC-Implementierung von Spring für Webanwendungen.
- Das Web-Portlet-Modul spiegelt die Funktionalität des Web-Servlet-Moduls wider. Das Web-Portlet-Modul bietet eine MVC-Implementierung, die in einer Portlet-Umgebung verwendet werden kann.
- Das Web-Socket-Modul unterstützt die Zwei-Wege-Kommunikation zwischen Server und Client in Webanwendungen.
#5. Test
Das Test-Modul ist der letzte Teil der Spring-Architektur. Es ist das Modul, das das Testen von Spring-Komponenten mit TestNG oder JUnit unterstützt.
Spring Framework installieren
Prüfen Sie, ob Java installiert ist
Bevor wir lernen, wie Spring Framework funktioniert, müssen wir Spring auf unserem PC installieren. In der Spring-Dokumentation finden Sie ausführliche Hinweise, wie Sie je nach Betriebssystem loslegen können.
In unserem Fall werden wir Ubuntu 20.04.5 verwenden, ein Linux-basiertes Betriebssystem.
Bevor Sie Spring installieren, vergewissern Sie sich, dass Java installiert ist, indem Sie diesen Befehl verwenden
java -version
Wenn Sie Java installiert haben, erhalten Sie eine Ausgabe ähnlich wie in diesem Screenshot.

Wenn Sie es nicht auf Ihrem PC haben, gibt es verschiedene Möglichkeiten, Java zu installieren, je nach Ihren Bedürfnissen.
Spring-Framework installieren
Es gibt verschiedene Möglichkeiten, das Spring-Framework zu installieren, wie in den Spring-Dokumente beschrieben .
In unserem Fall werden wir GVM (den Groovy Environment Manager) verwenden. Sie können GVM mit GVMtool beziehen oder über die Kommandozeile installieren.
Sobald Sie GVM haben, verwenden Sie die folgenden Befehle, um zu installieren und zu überprüfen, ob das Spring-Framework installiert ist
gvm install springboot
spring --version
Wenn Spring installiert ist, werden Sie wahrscheinlich eine Ausgabe erhalten, die wie folgt aussieht

Wichtige Begriffe im Zusammenhang mit dem Spring-Framework
Injektion von Abhängigkeiten
Dependency Injection ist eine Funktion, die es Entwicklern ermöglicht, unabhängige Objekte außerhalb einer Klasse zu erstellen. DI ermöglicht es auch, diese Objekte einer Klasse auf unterschiedliche Weise zur Verfügung zu stellen.
Inversion der Kontrolle (IoC)
IoC ist ein Konzept, das die Kontrolle über Teile eines Programms oder Objekts an ein Framework oder einen Container überträgt. Bei der traditionellen Programmierung ruft unser benutzerdefinierter Code eine Bibliothek auf. IoC hingegen ermöglicht es einem Framework (in diesem Fall Spring), unseren eigenen Code aufzurufen und den Programmablauf zu kontrollieren.
Aspektorientierte Programmierung (AOP)
AOP ist eine Technik zur Erstellung gemeinsamer und wiederverwendbarer Routinen, die in der gesamten Anwendung eingesetzt werden können. Ein solcher Ansatz trennt wiederholbare Aufgaben (wie Eingabevalidierung, Protokollierung und Fehlerbehandlung) von der Kernanwendungslogik.
Spring Framework Lernressourcen
#1. Reaktive Programmierung mit Spring Framework 5

Dieser Spring-Kurs besteht aus Videos, Artikeln und herunterladbaren Ressourcen. Der Kurs lehrt die Funktionale Programmierung mit Java, die Erstellung von Microservices mit Spring WebFlux und die Nutzung von reaktiven Typen in Spring Data MongoDB.
#2. Spring Framework Meisterkurs

Spring Framework Meisterkurs ist ein kostenpflichtiger Kurs, in dem Sie lernen, wie Java-Projekte Spring Framework wirklich nutzen. Sie werden lernen, wie Sie verschiedene Tools wie Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP und Hibernate verwenden.
#3. Spring Framework in einfachen Schritten

Spring Framework In Easy Steps ist ein idealer Premium-Kurs für Sie, wenn Sie End-to-End Java EE-Webanwendungen mit Spring Framework erstellen möchten. Sie lernen unter anderem, wie Sie Webanwendungen mit Spring MVC entwickeln, wie Sie Ajax-Aufrufe mit JQuery und Spring MVC durchführen und wie Sie Spring JDBC für Datenbankoperationen nutzen.
#4. Spring Framework 5

DerSpring Framework 5 Kurs ist ideal, wenn Sie Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA und Hibernate erlernen möchten. Sie können sich auf 57 Stunden On-Demand-Videos, 13 Artikel und eine Menge herunterladbarer Materialien verlassen.
Anmerkung des Autors
Java ist nach wie vor eine der beliebtesten Programmiersprachen in der modernen Welt. Auch wenn neue Sprachen eingeführt werden, bringen Frameworks wie Spring neues Leben in Java und erweitern seinen Nutzen. Die Nachfrage nach Java-Ingenieuren wird auch wahrscheinlich weiterhin bestehen, da sie für die Pflege von altem Code und die Entwicklung neuer Anwendungen benötigt werden.
Fazit
Spring nimmt unter den Java EE-Frameworks einen hohen Stellenwert ein. Wir hoffen, dass Sie jetzt verstehen, was das Spring Framework ist, seine Funktionen, seine Architektur und seine Arbeitsweise. In Kombination mit anderen Spring-Projekten bietet Spring Framework Entwicklern verschiedene Entwicklungswerkzeuge, die in unterschiedlichen Entwicklungsumgebungen eingesetzt werden können.