Heim > Java > javaLernprogramm > Was ist das Spring-Framework?

Was ist das Spring-Framework?

(*-*)浩
Freigeben: 2020-09-08 16:54:49
Original
24175 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage