Defintion „Spring“ Was ist das Spring Framework?
Das Spring Framework ist ein schlankes Open-Source-Framework für Java. Mittels Dependency Injection und aspektorientierter Programmierung soll es einen insgesamt leichteren und besser wartbaren Programmcode ermöglicht.
Anbieter zum Thema

Spring Framework ist ein modular aufgebautes Framework für Java bzw. Java Platform, Enterprise Edition (Java EE /J2EE). Es gilt als sehr leichtgewichtig und ist ein Open Source-Projekt. Ziel des Frameworks ist, die Komplexität der Java-Plattform deutlich zu reduzieren.
Dadurch soll sich die Java-Entwicklung übersichtlicher und effizienter gestalten – auch gegenüber Enterprise JavaBeans. Der Quellcode wird kürzer, was wiederum weniger Aufwand z. B. für spätere Änderungen bedeutet. Es wird am häufigsten genutzt, um Webanwendungen in Java zu programmieren, kann aber generell für jede Art von Anwendung genutzt werden.
Programmiermodell auf Basis von Plain Old Java Objects
Plain Old Java Objects (POJO) sind in Java einfache, leichtgewichtige Java-Klassen, die nur die Grundlagen der Java-Spezifikation umsetzen. Im Spring Framework können POJOs genutzt werden, um z. B. die Geschäftslogik abzubilden.
Interfaces und Dependency Injection
Interfaces dienen im Spring Framework dazu, eine entkoppelte Architektur zu schaffen. Mit Dependency Injection wird zudem die Konfiguration aller Abhängigkeiten aus dem eigentlichen Quellcode ferngehalten. Das Ergebnis ist ein stark reduzierter Code mit nur lose gekoppelten Systemkomponenten.
Aspektorientierte Programmierung
Aspektorientierte Programmierung (AOP) erlaubt die Strukturierung von Zusammenhängen, die komponentenübergreifend bestehen. Diese Zusammenhänge werden Aspekte genannt. So lässt sich der eigentliche Programmablauf sauberer von anderen Aspekten (z. B. Validierung, Fehlerbehandlung) trennen und das Projekt kann modularer aufgebaut werden.
Arbeiten mit Templates
Templates im Spring Framework sind Klassen, die für Programmschnittstellen (APIs) genutzt werden können. Templates bieten zudem bestimmte Komfortfunktionen wie eine einheitliche Fehlerbehandlung und automatisches Ressourcenmanagement, welche die Arbeit mit den Programmschnittstellen vereinfachen sollen.
Die Module im Überblick
Das Spring Framework ist modular aufgebaut, sodass man bei der Arbeit frei wählen kann, welche Module man gerade nutzen möchte. Das Framework enthält etwa 20 verschiedene Module, die sich in sechs Kategorien unterteilen lassen.
1. Core Container
Hier finden sich die zentralen Module des Spring Frameworks, in denen z. B. die Dependency-Injection-Funktion, die POJO-Unterstützung oder die Fähigkeit, Bibliotheken von Drittanbietern einzubinden, enthalten sind.
2. AOP und Instrumentation
Das Modul enthält wesentliche Funktionalitäten für die aspektorientierte Programmierung und bietet Integration für die Sprache AspectJ. Außerdem werden Funktionalitäten bereitgestellt, um Bytecode zur Laufzeit zu manipulieren.
3. Messaging
Für Anwendungen, die nachrichtenbasiert arbeiten, bietet dieses Modul einige Funktionen aus dem Spring Integration Project. Außerdem ermöglicht es das Mappen von Nachrichten auf Methoden.
4. Data Access/Integration
In diesem Modul geht es um Kommunikation, Interaktion und Datenzugriff zwischen der Spring Framework-Anwendung und anderen Anwendungen. Eine Abstraktionsschicht für den Datenbankzugriff erleichtert z. B. die sonst etwas umständlichen Zugriffe auf Datenbanken.
Auch eine Integration von ORM-Schnittstellen für relationale Datenbanken ist hier enthalten. Außerdem gibt es Abstraktionsschichten für Object-/XML-Mapping und die Verarbeitung von Nachrichten sowie eine Transaktionsverwaltung für Klassen und POJOs.
5. Web
Dieses Modul bietet grundlegende Technologien fürs Web, z. B. WebSockets, REST Web Services, ein Feature für mehrteilige Uploads oder ein eigenes Spring MVC Framework.
6. Test
Hier finden sich alle Komponenten, die für Unit Tests und Integration Testing benötigt werden. Das Test-Modul kann auch Mock-Objekte zu Testzwecken bereitstellen.
(ID:45925600)