Spring Boot 3 und Spring Framework 6 (eBook)
976 Seiten
Rheinwerk Computing (Verlag)
978-3-8362-9051-7 (ISBN)
Enterprise-Anwendungen mit Java, ohne Ballast und voll auf der Höhe der Zeit? Willkommen in der Welt von Spring und Spring Boot! Hier gehören Test Driven Development, Cloud-Native, Microservices und Continuous Integration zum Alltagsvokabular.
Dieses umfassende Handbuch zeigt Ihnen, was Sie über das Framework wissen sollten - zum Lernen im Hands-On-Modus ebenso wie zum Vertiefen und Nachschlagen. Es bietet ein durchgehendes Anwendungsbeispiel, das sich schon in vielen Schulungen bewährt hat, viele Praxistipps und klärt über mögliche Stolperfallen auf. Unabhängig davon, ob Sie für die Cloud oder On Premises entwickeln, mit welcher Architektur und wie groß Ihre Projekte sind: Mit dem richtigen Know-How im Rücken sind Sie bereit für professionelle und moderne Softwareentwicklung mit Spring und Java.
Aus dem Inhalt:
- Das erste Projekt aufsetzen
- Spring Core Container
- Testgetriebene Entwicklung mit Spring Boot
- Caching
- Dependency Injection
- Java Persistency Query Language
- Spring Data
- RESTful Webservices
- Monitoring
- Logging
- Deployment
Christian Ullenboom, Dipl.-Informatiker, ist zertifizierter Java-Programmierer und seit 1997 Trainer und Berater für Java-Technologien und objektorientierte Analyse und Design. Seit Jahren teilt er sein Wissen mit unzähligen Besuchern seiner Website, wo er Fragen beantwortet, Inhalte bereitstellt und diskutiert. Seine Sympathie gilt Java Performance Tuning und den sinnlichen Freuden des Lebens.
Vorwort
Was ist Spring Boot?
Spring Boot ist aktuell das wichtigste Java-Enterprise-Framework und bietet der Entwicklergemeinschaft viele Vorteile: Es ist leicht zu lernen und zu verwenden und erleichtert die Entwicklung von Microservices. Richtig entwickelt, sind Spring-Boot-Anwendungen skalierbar und eignen sich daher perfekt für robuste Unternehmensanwendungen.
Nach einigen Jahren in der Entwicklung ist im November 2022 die Version Spring Boot 3 erschienen. Aktuell mit der Version 3, bietet das vorliegende Buch einen vollständigen Überblick über alle zentralen Features des beliebten Java-Frameworks.
Vorkenntnisse und Zielgruppe
Spring ist ein sehr beliebtes Framework in der Java-Community und hat sich in den vergangenen Jahren zu einem Quasistandard entwickelt. Daher wurde dieses Buch für alle konzipiert, die Unternehmensanwendungen mit Datenbankanbindung und Webservices entwickeln möchten. Es ist sowohl für Anfänger als auch für Fortgeschrittene geeignet und liefert zahlreiche praktische Beispiele.
Voraussetzung sind robuste Java-Kenntnisse und der sichere Umgang mit Werkzeugen wie Maven. Mit relationalen Datenbanken sollte die Leserschaft grundlegend vertraut sein.
Die Demo-Anwendung Date4u, Aufgaben und Lösungen
Mit diesem Handbuch und einer Entwicklungsumgebung des Vertrauens lassen sich Spring-Programme entwickeln. Um ein neues Framework zu erlernen, reicht das Lesen aber nicht aus. Wer eine Programmiersprache oder ein Framework erlernen möchte, muss sie bzw. es wie eine Fremdsprache üben und »sprechen«, und neben der Grammatik der Sprache ist Spring das Vokabular.
Zur Demonstration wird in diesem Buch eine Dating-Anwendung für Einhörner implementiert. Dieses unterhaltsame Beispiel demonstriert alle zentralen Bestandteile einer Enterprise-Anwendung: das Zusammenspiel von Komponenten, die Speicherung der Profildaten in einer Datenbank und den Zugriff über Webservices. Die Leserschaft wird Schritt für Schritt durch die Anwendung geleitet, und im Text eingestreut finden sich immer wieder Aufgaben, die zur Übung einladen. Zu jeder Aufgabe folgt ein Lösungsvorschlag, sodass sich der Text linear lesen lässt. Die Anwendung Date4u ist per Download verfügbar (siehe https://rheinwerk-verlag.de/spring-boot-3-und-spring-framework-6/).
Organisation der Kapitel
Das Buch gliedert sich in folgende Kapitel:
Kapitel 1, »Einleitung«, stellt das Spring Framework und die »Erweiterung« Spring Boot vor. Es wird gezeigt, wie ein Projekt angelegt wird. Außerdem werden der Aufbau der Maven-POM-Datei sowie die Bedeutung der Starter und Dependencys erläutert.
In Kapitel 2, »Container für Spring-managed Beans«, steht der Spring-Kontext im Mittelpunkt. Schritt für Schritt wird aus einer einzigen Klasse ein Geflecht von Spring-managed Beans aufgebaut, um Bilder im Dateisystem abzulegen und zu laden.
Die Verwaltung von Spring-managed Beans ist eine Kernaufgabe des Spring Frameworks, aber es gibt viele weitere Features, die Kapitel 3, »Ausgewählte Module des Spring Frameworks«, anspricht. Dazu zählen die externe Konfiguration, die Ereignisbehandlung, Konvertierungsklassen und diverse Utility-Klassen.
In Kapitel 4, »Ausgewählte Proxys«, geht es mit besonderen »Ringen« weiter, die sich um Komponenten legen und damit das Caching, asynchrone Aufrufe oder die Validierung übernehmen. Das bietet den Vorteil, dass bestimmte Aufgaben an das Framework verlagert werden können, sodass der eigene Code schlanker wird.
In den ersten vier Kapiteln stehen der Spring-Container und Hilfsklassen im Mittelpunkt, aber keine Speichertechnologien. Das ändert sich in Kapitel 5, »Relationale Datenbanken anbinden«. In diesem Kapitel wird ein Datenbankmanagementsystem vorbereitet und werden SQL-Anfragen an die Datenbank demonstriert.
Das Schreiben in Datenbanken mit der JDBC-API ist einfach und direkt, aber unkomfortabel. Daher führt Kapitel 6, »Jakarta Persistence mit Spring«, in das objektrelationale Mapping ein.
Datenzugriffsschichten sind in jeder größeren Anwendung nötig. Kapitel 7, »Spring Data JPA«, stellt ihre Möglichkeiten exemplarisch an dem Familienmitglied Spring Data JPA vor. Repositorys lassen sich damit einfach schreiben, und viele Abfragen und Datentransformationen werden vom Framework realisiert.
Relationale Datenbanken werden flankiert von nichtrelationalen Datenbanksystemen, die ebenfalls ausgezeichnet in die Spring-Data-Familie integriert sind. Kapitel 8, »Spring Data für NoSQL-Datenbanken«, zeigt anhand von MongoDB und Elasticsearch, wie die Spring-Data-Konzepte in die NoSQL-Welt übertragen werden.
Nachdem mit der Datenhaltung ein wichtiger Teil der Infrastruktur beschrieben wurde, geht es mit Anwendungen des HTTP-Protokolls in Kapitel 9, »Spring Web«, weiter. Dort stehen RESTful Webservices und HTTP-Clients im Mittelpunkt.
Mit dem bisher erworbenen Wissen lässt sich eine Anwendung betreiben, aber es ist wichtig, auch von außen in die Anwendung schauen zu können, um zu prüfen, ob die »Betriebstemperatur« stimmt. Kapitel 10, »Logging und Monitoring«, stellt mit dem Actuator-Projekt eine Möglichkeit vor, um Daten einer Anwendung freizugeben, die dann von externen Lösungen abgeholt und visualisiert werden können.
Dass ein Programm in der Entwicklungsumgebung läuft und bei den Testfällen nicht versagt, ist gut, aber nur die halbe Miete: Ein Programm muss ausgespielt werden. Dazu stellt Kapitel 11, »Build und Deployment«, unter anderem OCI-Container (aka Docker) vor.
Spring Boot 3 ist neu, und es wird noch etwas dauern, bis Teams auf Java 17 umsteigen. Wer Anwendungen unter Java 8 entwickelt, wird in Anhang A einige Tipps zur Migration einer Anwendung von Spring Boot 2 auf Spring Boot 3 finden.
Die *-Abschnitte
Das Spring-Universum ist reich an Feinheiten und verwirrt Einsteiger und Einsteigerinnen oft. Um das nötige Wissen vom verzichtbaren Wissen zu trennen, enden einige Überschriften mit einem *, was bedeutet, dass dieser Abschnitt übersprungen werden kann, ohne dass der Leserschaft etwas Wesentliches für die späteren Kapitel fehlt.
Welche Java-Version wird im Buch genutzt?
Voraussetzung für Spring Boot 3 ist Java 17. Diese Version hat einen Long-Term Support (LTS), das heißt, die Hersteller von Laufzeitumgebungen bieten viele Jahre Unterstützung an, sodass das Release lange relevant bleibt. Spring Boot 3 unterstützt aber auch neuere Versionen wie Java 19.
Benötigte Software
Wollen wir Java-Programme laufen lassen, benötigen wir eine JVM. In der Anfangszeit war das einfach. Die Laufzeitumgebung stammte erst von Sun Microsystems, später von der Firma Oracle, die Sun übernommen hat. Heute ist das deutlich unübersichtlicher. Diverse Institutionen kompilieren das OpenJDK (die Originalquellen enthalten Hunderttausende Zeilen C(++)- und Java-Quellcode) und bündeln es in eine Distribution, die Java-Laufzeitumgebung. Die bekanntesten Laufzeitumgebungen sind:
-
Eclipse Adoptium (https://adoptium.net/),
-
Amazon Corretto (https://aws.amazon.com/de/corretto),
-
Red Hat OpenJDK (https://developers.redhat.com/products/openjdk/overview)
und weitere, wie die von Azul Systems oder Bellsoft. Zum Lernen mit diesem Buch kann man sich frei für eine Distribution entscheiden; mit Adoptium liegt man gut.
Die Entwicklungsumgebung
Java-Quellcode ist nur Text, sodass im Prinzip ein einfacher Texteditor reicht. Allerdings können wir mit einem Editor wie Notepad keine große Produktivität erwarten. Moderne Entwicklungsumgebungen unterstützen uns in vielerlei Hinsicht: durch farbige Hervorhebung von Schlüsselwörtern, automatische Codevervollständigung, intelligente Fehlerkorrektur, durch das Einfügen von Codeblöcken, die Visualisierung von Zuständen im Debugger und durch vieles mehr. Es ist daher ratsam, eine vollständige Entwicklungsumgebung zu verwenden. Drei populäre IDEs sind: IntelliJ, Eclipse und Visual Studio Code. Hingegen verliert (Apache) NetBeans immer weiter den Anschluss.
Wie bei den Java-Laufzeitumgebungen ist es jedem und jeder überlassen, sich eine...
Erscheint lt. Verlag | 6.3.2023 |
---|---|
Sprache | deutsch |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
ISBN-10 | 3-8362-9051-0 / 3836290510 |
ISBN-13 | 978-3-8362-9051-7 / 9783836290517 |
Haben Sie eine Frage zum Produkt? |
![EPUB](/img/icon_epub_big.jpg)
Größe: 10,7 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich