Defintion „Spring“

Was ist das Spring Framework?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Das Spring-Framework soll die Komplexität der Java-Plattform deutlich reduzieren, um die Entwicklung übersichtlicher und effizienter zu gestalten
Das Spring-Framework soll die Komplexität der Java-Plattform deutlich reduzieren, um die Entwicklung übersichtlicher und effizienter zu gestalten (Bild: Spring.io)

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.

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Grundlagen zu C-Sharp und Visual Studio

Programmieren mit C#, Teil 1

Grundlagen zu C-Sharp und Visual Studio

C# ist als objektorientierte Programmiersprache direkt in Microsofts-Entwicklungsumgebung Visual Studio integriert. Microsoft stellt dazu auch eine kostenlose Community Edition zur Verfügung. Wir geben einen ersten Überblick. lesen

5 Best Practices für sichere Softwareentwicklung

Leitfaden zu Risikominimierung und Datenschutz

5 Best Practices für sichere Softwareentwicklung

In einer Code-gesteuerten IT-Welt muss Sicherheit den gesamten Software Development Lifecycle abdecken. Doch wie bleibt dabei gewährleistet, dass Anwendungsentwicklung und -Bereitstellung nicht gestört werden? lesen

Red Hat Enterprise Linux 8

Mehr Automatisierung und Entwickler-Produktivität

Red Hat Enterprise Linux 8

Insider wissen: Red Hat im eigenen Rechenzentrum unterscheidet sich von dem in einer Public Cloud. Das ist für Administratoren und Entwickler ärgerlich und soll sich nun ändern. „Red Hat Enterprise Linux 8“ soll für jeden Workload in jeder Umgebung eine durchgängige Linux-Erfahrung für Unternehmen bieten: von Bare-Metal-Servern und Linux-Containern bis hin zu Public und Private Clouds. lesen

IT-basierte Automation in Geschäftsprozessen

Von grundlegender Automatisierung bis hin zu KI

IT-basierte Automation in Geschäftsprozessen

Von der Robotik-Prozessautomatisierung über die algorithmische Automatisierung bis hin zu Künstlicher Intelligenz: Die IT-basierte Automation von Geschäftsprozessen außerhalb der Produktion umfasst ein breites Spektrum zunehmend komplexer Technologien, die wir in diesem Beitrag näher beleuchten. lesen

Zenkit 3.0 mit neuen Collaboration-Features

Redesign, öffentliche API und progressive Mobile Apps

Zenkit 3.0 mit neuen Collaboration-Features

Das Start-Up Zenkit hat das gleichnamige Online-Projektmanagement-Tool auf Version 3.0 aktualisiert. Dieses basiert auf einem neuen Design-Framework und bietet unter anderem verschiedene Projekt-Sharing-Funktionen sowie eine öffentlich dokumentierte API. lesen

API-Management im Unternehmen einführen

Strategien zur Schnittstellen-Implementierung

API-Management im Unternehmen einführen

APIs sind eine Schlüsseltechnologie in der heutigen digitalen Welt. Dieser Artikel beschreibt Strategien, um API-Management in Unternehmen einzuführen und die Schritte, wie Organisationen ihre IT mit Hilfe eines API-basierten Ansatzes transformieren können. lesen

JavaScript-Framework Tabris für Tests freigegeben

Release Candiate zu Tabris.js 3.0 ist verfügbar

JavaScript-Framework Tabris für Tests freigegeben

Das JavaScript-Framework Tabris.js 3.0 soll vor der finalen Veröffentlichung ausführlichen getestet werden. Die Innoopract Informationssysteme GmbH hat deshalb einen entsprechenden Release Candidate veröffentlicht. lesen

DevSecOps in 4 Schritten

Sicherheit in die DevOps-Strategie integrieren

DevSecOps in 4 Schritten

Die Agilität von DevOps und Microservices-Umgebungen macht die Integration der Sicherheit nicht gerade einfacher. DevSecOps lässt sich aber durchaus realisieren, wenn man vom traditionellen Sicherheitsdenken abrückt. lesen

Low-Code-Plattform Appian 19.2 veröffentlicht

Einfacheres Design und No-Code-Integration

Low-Code-Plattform Appian 19.2 veröffentlicht

Ein einfacheres Anwendungsdesign, insbesondere bei der Anbindung von Datenquellen, verspricht Appian mit der neuesten Version der gleichnamigen Low-Code-Lösung. Im Zuge der „Connected Systems“-Strategie wird darüber hinaus die No-Code-Integration mit Drittanbieter-Diensten und -Systemen vorangetrieben. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45925600 / Definitionen)