Spring Boot
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Mark Heckler. Spring Boot
Spring Boot
Inhalt
Vorwort. Willkommen
Konventionen in diesem Buch
Codebeispiele benutzen
Danksagungen
KAPITEL 1. Spring Boot in a Nutshell
Die drei Grundeigenschaften von Spring Boot
Starter für vereinfachtes Abhängigkeitsmanagement
Ausführbare JARs für ein vereinfachtes Deployment
Autokonfiguration
Zusammenfassung
KAPITEL 2. Ihre Werkzeuge auswählen und beginnen
Maven oder Gradle?
Apache Maven
Gradle
Die Wahl zwischen Maven und Gradle
Java oder Kotlin?
Java
Kotlin
Zwischen Java und Kotlin wählen
Eine Version von Spring Boot wählen
Der Spring Initializr
Rauf auf die Kommandozeile
In Integrated Development Environments (IDEs) bleiben
Unterwegs in main()
Zusammenfassung
KAPITEL 3. Ihr erstes Spring-Boot-REST-API erstellen
Das Wie und Warum von APIs
Was ist REST, und warum ist das wichtig?
Ihr API im HTTP-Verbstil
Zurück zum Initializr
Erzeugen einer einfachen Domain
GET-ting
@RestController in a Nutshell
Los geht's mit »GET«
POST-ing
PUT-ting
DELETE-ing
Und mehr
Vertrauen ist gut, Kontrolle ist besser
Zusammenfassung
KAPITEL 4. Datenbankzugriff für Ihre Spring-Boot-Anwendung
Die Autokonfiguration für den Datenbankzugriff vorbereiten
Was wollen wir erreichen?
Hinzufügen einer Datenbankabhängigkeit
Code hinzufügen
Die @Entity
Das Repository
Das Utility oder auch: in Aktion »springen«
Speichern und Abrufen von Daten
Ein bisschen Nachpolieren
Zusammenfassung
KAPITEL 5. Konfigurieren und Untersuchen Ihrer Spring-Boot-Anwendung
Anwendungskonfiguration
@Value
@ConfigurationProperties
Potenzielle Drittanbieter-Option
Autoconfiguration Report
Der Actuator
Den Actuator dazu bringen, mehr zu verraten
Umweltbewusster werden mit dem Actuator
Mehr protokollieren mit dem Actuator
Zusammenfassung
KAPITEL 6. Tief in das Thema Daten einsteigen
Entitäten definieren
Template-Unterstützung
Repository-Unterstützung
@Before
Einen Template-basierten Dienst mit Redis erstellen
Das Projekt initialisieren
Den Redis-Dienst entwickeln
Die Domain-Klasse definieren
Template-Unterstützung hinzufügen
Alles zusammenfügen
Die Ergebnisse
Von Template auf Repository umsteigen
Mit dem Java Persistence API (JPA) einen Repository-basierten Dienst erstellen
Das Projekt initialisieren
Den JPA-(MySQL-)Dienst entwickeln
Die Domain-Klasse definieren
Die Repository-Schnittstelle anlegen
Alles zusammenfügen
Die Ergebnisse
Daten laden
API- oder datenbankspezifische Skripte
Die Datenbank mithilfe des Repository der Anwendung befüllen
Andere Mechanismen
Mithilfe einer dokumentenorientierten NoSQL-Datenbank einen Repository-basierten Dienst erstellen
Das Projekt initialisieren
Den MongoDB-Dienst entwickeln
Die Domain-Klasse definieren
Die Repository-Schnittstelle erzeugen
Alles zusammenfügen
Die Ergebnisse
Einen Repository-basierten Dienst mithilfe einer NoSQL-Graphdatenbank erstellen
Das Projekt initialisieren
Den Neo4j-Dienst entwickeln
Die Domain-Klasse definieren
Die Repository-Schnittstelle erstellen
Alles zusammenfügen
Die Ergebnisse
Zusammenfassung
KAPITEL 7. Anwendungen mittels Spring MVC erstellen
Spring MVC: Was bedeutet das?
Endanwender-Interaktionen mittels Template-Engines
Das Projekt initialisieren
Die Aircraft-Positions-Anwendung entwickeln
Die Domain-Klasse definieren
Die Repository-Schnittstelle erzeugen
Mit Model und Controller arbeiten
Die erforderlichen View-Dateien erzeugen
Die Ergebnisse
Ein frischer Dreh
Nachrichten übergeben
Den PlaneFinder ausbauen
Erforderliche Abhängigkeiten
Die Flugzeugpositionen liefern
Anwendungseigenschaften
Die Anwendung Aircraft Positions erweitern
Erforderliche Abhängigkeiten
Flugzeugpositionen aufnehmen
Anwendungseigenschaften
Den Controller kontaktieren
Die Ergebnisse
Konversationen mit WebSocket erzeugen
Was ist WebSocket?
Die Aircraft-Positions-Anwendung umbauen
Zusätzliche Abhängigkeiten
WebSocket-Verbindungen und Nachrichten verarbeiten
Broadcasting von Flugzeugpositionen an WebSocket-Verbindungen
WebSocket hinten, WebSocket vorn
Die Ergebnisse
Zusammenfassung
KAPITEL 8. Reaktive Programmierung mit Project Reactor und Spring WebFlux
Einführung in die reaktive Programmierung
Project Reactor
Tomcat versus Netty
Reaktiver Datenzugriff
R2DBC mit H2
PlaneFinder aktualisieren
Die Anwendung Aircraft Positions aktualisieren
Reaktives Thymeleaf
RSocket für eine vollständig reaktive Interprozess-Kommunikation
Was ist RSocket?
RSocket einsetzen
PlaneFinder nach RSocket migrieren
Aircraft Positions nach RSocket migrieren
Zusammenfassung
KAPITEL 9. Spring-Boot-Anwendungen zur erhöhten Produktionsbereitschaft testen
Unit-Tests
@SpringBootTest vorgestellt
Wichtige Unit-Tests für die Aircraft-Positions-Anwendung
Refaktorieren für ein besseres Testen
Den Code erneut überarbeiten, um Verhaltensweisen zu isolieren
Den Test verfeinern
Slices testen
Zusammenfassung
KAPITEL 10. Ihre Spring-Boot-Anwendung sichern
Authentifizierung und Autorisierung
Authentifizierung
Autorisierung
Spring Security in aller Kürze
Die HTTP Firewall
Sicherheitsfilterketten
Request- und Response-Header
Implementieren einer formularbasierten Authentifizierung und Autorisierung mit Spring Security
Spring-Security-Abhängigkeiten hinzufügen
Authentifizierung hinzufügen
Autorisierung
Implementieren von OpenID Connect und OAuth2 zur Authentifizierung und Autorisierung
Die Client-Anwendung Aircraft Positions
OpenID-Connect- und OAuth2-Abhängigkeiten zu Aircraft Positions hinzufügen
Aircraft Positions für die Authentifizierung und Autorisierung refaktorieren
PlaneFinder-Ressourcenserver
OpenID-Connect- und OAuth2-Abhängigkeiten zu Aircraft Positions hinzufügen
PlaneFinder für die Ressourcenautorisierung umbauen
Zusammenfassung
KAPITEL 11. Das Deployment Ihrer Spring-Boot-Anwendung
Wieder zurück zum ausführbaren Spring-Boot-JAR
Ein »vollständig ausführbares« Spring-Boot-JAR bauen
Was bedeutet das?
JARs auspacken
Deployment von Spring-Boot-Anwendungen in Containern
Ein Container-Image aus der IDE heraus erzeugen
Ein Container-Image von der Kommandozeile aus erzeugen
Verifizieren, dass das Image existiert
Die Container-Anwendung ausführen
Hilfsmittel zum Untersuchen der Container-Images einer Spring-Boot-Anwendung
pack
dive
Zusammenfassung
KAPITEL 12. In die reaktive Programmierung intensiv eintauchen
Wann sollte man reaktiv arbeiten?
Reaktive Anwendungen testen
Zuerst aber: refaktorieren
Und nun das Testen
Test zum Abrufen aller Flugzeugpositionen
Testen der Aircraft-Positions-Suchfähigkeiten
Diagnostizieren und Debuggen reaktiver Anwendungen
Hooks.onOperatorDebug()
Checkpoints
ReactorDebugAgent.init()
Zusammenfassung
Fußnoten. KAPITEL 2 Ihre Werkzeuge auswählen und beginnen
KAPITEL 5 Konfigurieren und Untersuchen Ihrer Spring-Boot-Anwendung
Index
Über den Autor
Über die Übersetzerin
Kolophon
Отрывок из книги
Cloud-native Anwendungen mit Java und Kotlin erstellen
Mark Heckler
.....
Die Anwendung Aircraft Positions erweitern
Konversationen mit WebSocket erzeugen
.....