Heim Java javaLernprogramm Was ist das Spring-Framework?

Was ist das Spring-Framework?

May 06, 2019 am 10:45 AM
java

Spring ist ein Open-Source-Framework, das von Rod Johnson entwickelt wurde, um die Komplexität der Entwicklung von Unternehmensanwendungen zu lösen. Spring kann grundlegende JavaBeans verwenden, um Dinge zu vervollständigen, die bisher nur durch EJBs möglich waren.

Was ist das Spring-Framework?

In diesem Artikel werden die Funktionen und Module des Spring-Frameworks kurz vorgestellt. Informationen zur spezifischen Verwendung finden Sie im empfohlenen Kurs: Java-Tutorial .

Spring ist ein Open-Source-Framework, das von Rod Johnson entwickelt wurde. Es wurde entwickelt, um die Komplexität der Entwicklung von Unternehmensanwendungen zu lösen. Spring verwendet grundlegende JavaBeans, um Dinge zu erreichen, die bisher nur mit EJBs möglich waren. Allerdings sind die Einsatzmöglichkeiten von Spring nicht auf die serverseitige Entwicklung beschränkt. Aus Sicht der Einfachheit, Testbarkeit und losen Kopplung jede Java-Anwendung Kann vom Frühling profitieren.

Spring ist ein leichtes Container-Framework für Inversion of Control (IoC) und Aspect Oriented (AOP).

Leicht – Feder ist sowohl hinsichtlich der Größe als auch des Overheads leicht. Das komplette Spring-Framework kann in einer JAR-Datei mit einer Größe von knapp über 1 MB verteilt werden. Und Frühling Der erforderliche Verarbeitungsaufwand ist ebenfalls vernachlässigbar. Darüber hinaus ist Spring nicht aufdringlich: Normalerweise sind Objekte in einer Spring-Anwendung nicht von bestimmten Spring-Klassen abhängig.

Inversion of Control – Spring fördert die lose Kopplung durch eine Technik namens Inversion of Control (IoC). Wenn IoC angewendet wird, werden andere Objekte, von denen ein Objekt abhängt, passiv übergeben. Übergeben Sie es, anstatt das Objekt selbst zu erstellen oder abhängige Objekte zu suchen. Sie können sich IoC als das Gegenteil von JNDI vorstellen – anstatt dass das Objekt nach Abhängigkeiten vom Container sucht, übergibt der Container die Abhängigkeiten aktiv an das Objekt, wenn es initialisiert wird, ohne darauf zu warten, dass das Objekt sie anfordert.

Aspektorientiert – Spring bietet umfassende Unterstützung für aspektorientierte Programmierung und ermöglicht eine kohärente Entwicklung durch die Trennung der Geschäftslogik der Anwendung von Diensten auf Systemebene (z. B. Prüfung und Transaktionsverwaltung). Anwendungsobjekte implementieren nur das, was sie tun sollen – die vollständige Geschäftslogik – nichts weiter. Sie sind nicht für andere Belange auf Systemebene verantwortlich (oder sind sich dieser auch nicht bewusst), etwa Protokollierung oder Transaktionsunterstützung.

Container – Spring enthält und verwaltet die Konfiguration und den Lebenszyklus von Anwendungsobjekten. Es ist ein Container in dem Sinne, dass Sie konfigurieren können, wie jede Ihrer Beans erstellt wird – basierend auf einem konfigurierbaren Prototyp (Prototyp), Ihrer Bean kann bei Bedarf eine einzelne Instanz erstellen oder eine neue Instanz generieren – und wie sie miteinander in Beziehung stehen. Allerdings sollte Spring nicht mit herkömmlichen schweren EJB-Containern verwechselt werden, die oft groß, unhandlich und schwer zu verwenden sind.

Framework – Spring kann einfache Komponenten konfigurieren und zu komplexen Anwendungen kombinieren. In Spring werden Anwendungsobjekte deklarativ zusammengestellt, typischerweise in einer XML-Datei.

Spring bietet außerdem viele Grundfunktionen (Transaktionsverwaltung, Persistenz-Framework-Integration usw.) und überlässt Ihnen die Entwicklung der Anwendungslogik.

All diese Spring-Funktionen ermöglichen es Ihnen, Code zu schreiben, der sauberer, verwaltbarer und einfacher zu testen ist. Sie bieten im Frühjahr auch grundlegenden Support für verschiedene Module an.


Das Spring-Framework besteht aus sieben klar definierten Modulen

Was ist das Spring-Framework?

In ihrer Gesamtheit bieten Ihnen diese Module alles, was Sie für die Entwicklung von Unternehmensanwendungen benötigen. Sie müssen Ihre Anwendung jedoch nicht vollständig auf dem Spring-Framework basieren. Es steht Ihnen frei, die App zu wählen, die zu Ihnen passt Module und ignorieren Sie den Rest.

Wie Sie sehen können, sind alle Spring-Module auf dem Kerncontainer aufgebaut. Der Container definiert, wie Beans erstellt, konfiguriert und verwaltet werden – weitere Details in Spring.

Sie werden diese Klassen möglicherweise verwenden, wenn Sie Ihre Anwendung konfigurieren. Als Entwickler sind Sie jedoch höchstwahrscheinlich an anderen Modulen interessiert, die sich auf die vom Container bereitgestellten Dienste auswirken. Diese Module werden Bietet Ihnen ein Framework zum Erstellen von Anwendungsdiensten wie AOP und Persistenz.

Kerncontainer

Dies ist der grundlegendste Teil des Spring-Frameworks. Es bietet Abhängigkeitsinjektionsfunktionen (DependencyInjection) zur Implementierung der Containerverwaltung von Beans. Das grundlegendste Konzept ist hier die BeanFactory, die den Kern jeder Spring-Anwendung bildet. BeanFactory ist eine Implementierung des Factory-Musters, das IoC verwendet, um Anwendungskonfigurations- und Abhängigkeitsspezifikationen vom eigentlichen Anwendungscode zu trennen.

Anwendungskontextmodul (Kontextmodul)

Die BeanFactory des Kernmoduls macht Spring zu einem Container und das Kontextmodul macht es zu einem Framework. Dieses Modul erweitert das Konzept von BeanFactory und bietet Unterstützung für internationale (I18N) Messaging, Ereignisweitergabe und Unterstützung für die Überprüfung.

Darüber hinaus bietet dieses Modul viele Unternehmensdienste, wie E-Mail, JNDI-Zugriff, EJB-Integration, Remote- und Planungsdienste. Enthält auch Vorlagenboxen Frames wie Velocity und FreeMarker sind mit Unterstützung integriert.

Springs AOP-Modul

Spring bietet in seinem AOP-Modul umfassende Unterstützung für aspektorientierte Programmierung. Dieses Modul ist die Grundlage für die Implementierung der Aspektprogrammierung in Spring-Anwendungen. Um sicherzustellen, dass Frühling und andere Interoperabilität des AOP-Frameworks. Die AOP-Unterstützung von Spring basiert auf der von der AOP Alliance definierten API. Die AOP Alliance ist ein Open-Source-Projekt, dessen Ziel es ist, die Nutzung von AOP und die Interoperabilität zwischen verschiedenen AOP-Implementierungen durch die Definition eines gemeinsamen Satzes von Schnittstellen und Komponenten zu fördern. Sie können mehr über die AOP Alliance erfahren, indem Sie deren Website besuchen.

Das AOP-Modul von Spring führt auch die Metadatenprogrammierung in Spring ein. Mithilfe der Metadatenunterstützung von Spring können Sie Ihrem Quellcode Anmerkungen hinzufügen, um Spring anzugeben, wo und wie So wenden Sie die Aspektfunktion an.

JDBC-Abstraktion und DAO-Modul

Die Verwendung von JDBC führt oft zu einer Menge sich wiederholendem Code, dem Herstellen der Verbindung, dem Erstellen von Anweisungen, dem Verarbeiten der Ergebnismenge und dem anschließenden Schließen Verbindung. Die JDBC- und DAO-Module von Spring extrahieren diesen doppelten Code Code, damit Sie Ihren Datenbankzugriffscode sauber und präzise halten und Probleme verhindern können, die durch Fehler beim Schließen von Datenbankressourcen verursacht werden.

Dieses Modul baut außerdem eine aussagekräftige Ausnahmeschicht auf, die auf den Fehlermeldungen mehrerer Datenbankserver basiert. Kein Versuch mehr, kryptische private SQL-Fehlermeldungen zu entschlüsseln!

Darüber hinaus nutzt dieses Modul auch das AOP-Modul von Spring, um Transaktionsverwaltungsdienste für Objekte in Spring-Anwendungen bereitzustellen.

Integriertes Objekt-/Relational-Mapping-Modul

Für diejenigen, die lieber Objekt-/Relational-Mapping-Tools anstelle von JDBC direkt verwenden, bietet Spring ein ORM-Modul. Spring versucht nicht, eine eigene ORM-Lösung zu implementieren Stattdessen bietet es Integrationslösungen für mehrere gängige ORM-Frameworks, darunter Hibernate, JDO und iBATIS SQL Mapping. Das Transaktionsmanagement von Spring unterstützt jedes dieser ORM-Frameworks, einschließlich JDBC.

Springs Web-Modul

Das Web-Kontextmodul baut auf dem Anwendungskontextmodul auf und stellt einen für Webanwendungen geeigneten Kontext bereit. Darüber hinaus bietet dieses Modul auch einige serviceorientierte Unterstützung. Zum Beispiel

Zum Beispiel: Implementieren Sie eine mehrteilige Anforderung zum Hochladen von Dateien. Es ermöglicht auch die Integration von Spring und anderen Web-Frameworks wie Struts und WebWork.

Springs MVC-Framework

Spring bietet ein umfassendes MVC-Framework für die Erstellung von Webanwendungen. Obwohl Spring problemlos in andere MVC-Frameworks wie Struts integriert werden kann, verwendet das MVC-Framework von Spring IoC, um eine vollständige Trennung von Steuerlogik und Geschäftsobjekten zu ermöglichen.

Es ermöglicht Ihnen auch, Anforderungsparameter deklarativ an Ihre Geschäftsobjekte zu binden. Darüber hinaus kann das MVC-Framework von Spring auch alle anderen Dienste von Spring nutzen, wie z. B. Internationalisierungsinformationen und Validierung.

Problem mit verstümmeltem Code auf der Spring Framework-Webseite

Bei Java-Webprojekten treten häufig Probleme mit verstümmeltem Code auf, und die Lösungen sind unterschiedlich, einige sind einfach und andere komplex ; Nach dem Hinzufügen des Spring-Frameworks wird es anders sein, aber Wir können den mit dem Spring-Framework gelieferten CharacterEncodingFilter verwenden, der unsere Arbeitsbelastung erheblich reduzieren kann und einfach, bequem und leicht zu verstehen ist.

Das obige ist der detaillierte Inhalt vonWas ist das Spring-Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

See all articles