Spring Framework - Architektur

Spring könnte möglicherweise eine zentrale Anlaufstelle für alle Ihre Unternehmensanwendungen sein. Spring ist jedoch modular aufgebaut, sodass Sie auswählen können, welche Module für Sie geeignet sind, ohne den Rest einbringen zu müssen. Der folgende Abschnitt enthält Details zu allen in Spring Framework verfügbaren Modulen.

Das Spring Framework bietet ungefähr 20 Module, die je nach Anwendungsanforderung verwendet werden können.

Kernbehälter

Der Core Container besteht aus den Modulen Core, Beans, Context und Expression Language, deren Details wie folgt lauten:

  • Das Core Das Modul enthält die grundlegenden Teile des Frameworks, einschließlich der Funktionen IoC und Dependency Injection.

  • Das Bean Das Modul bietet BeanFactory, eine ausgefeilte Implementierung des Factory-Musters.

  • Das ContextDas Modul baut auf der soliden Basis der Core- und Beans-Module auf und ist ein Medium für den Zugriff auf alle definierten und konfigurierten Objekte. Die ApplicationContext-Schnittstelle ist der Schwerpunkt des Context-Moduls.

  • Das SpEL Das Modul bietet eine leistungsstarke Ausdruckssprache zum Abfragen und Bearbeiten eines Objektdiagramms zur Laufzeit.

Datenzugriff / Integration

Die Datenzugriffs- / Integrationsschicht besteht aus den Modulen JDBC, ORM, OXM, JMS und Transaction, deren Details wie folgt sind:

  • Das JDBC Das Modul bietet eine JDBC-Abstraktionsschicht, die die mühsame JDBC-bezogene Codierung überflüssig macht.

  • Das ORM Das Modul bietet Integrationsebenen für gängige objektrelationale Zuordnungs-APIs, einschließlich JPA, JDO, Hibernate und iBatis.

  • Das OXM Das Modul bietet eine Abstraktionsschicht, die Objekt- / XML-Mapping-Implementierungen für JAXB, Castor, XMLBeans, JiBX und XStream unterstützt.

  • Der Java Messaging Service JMS Das Modul enthält Funktionen zum Erstellen und Konsumieren von Nachrichten.

  • Das Transaction Das Modul unterstützt das programmatische und deklarative Transaktionsmanagement für Klassen, die spezielle Schnittstellen implementieren, und für alle Ihre POJOs.

Netz

Die Webschicht besteht aus den Modulen Web, Web-MVC, Web-Socket und Web-Portlet, deren Details wie folgt lauten:

  • Das Web Das Modul bietet grundlegende weborientierte Integrationsfunktionen wie mehrteilige Funktionen zum Hochladen von Dateien und die Initialisierung des IoC-Containers mithilfe von Servlet-Listenern und einem weborientierten Anwendungskontext.

  • Das Web-MVC Das Modul enthält die MVC-Implementierung (Model-View-Controller) von Spring für Webanwendungen.

  • Das Web-Socket Das Modul bietet Unterstützung für die WebSocket-basierte bidirektionale Kommunikation zwischen dem Client und dem Server in Webanwendungen.

  • Das Web-Portlet Das Modul stellt die MVC-Implementierung zur Verwendung in einer Portlet-Umgebung bereit und spiegelt die Funktionalität des Web-Servlet-Moduls wider.

Verschiedenes

Es gibt nur wenige andere wichtige Module wie AOP-, Aspekt-, Instrumentierungs-, Web- und Testmodule, deren Details wie folgt lauten:

  • Das AOP Das Modul bietet eine aspektorientierte Programmierimplementierung, mit der Sie Methodenabfangjäger und Pointcuts definieren können, um Code sauber zu entkoppeln, der Funktionen implementiert, die getrennt werden sollten.

  • Das Aspects Das Modul bietet die Integration mit AspectJ, einem leistungsstarken und ausgereiften AOP-Framework.

  • Das Instrumentation Das Modul bietet Unterstützung für Klasseninstrumente und Klassenladeprogrammierungen, die auf bestimmten Anwendungsservern verwendet werden können.

  • Das MessagingDas Modul unterstützt STOMP als WebSocket-Unterprotokoll zur Verwendung in Anwendungen. Es unterstützt auch ein Annotation-Programmiermodell zum Weiterleiten und Verarbeiten von STOMP-Nachrichten von WebSocket-Clients.

  • Das Test Das Modul unterstützt das Testen von Spring-Komponenten mit JUnit- oder TestNG-Frameworks.