Suchen und Finden
Service
Spring Boot 2 - Moderne Softwareentwicklung mit Spring 5
Michael Simons
Verlag dpunkt, 2018
ISBN 9783960883883 , 460 Seiten
Format PDF, OL
Kopierschutz Wasserzeichen
Inhaltsverzeichnis
5
Geleitwort
13
Vorwort
15
Wege durch das Buch
21
I Einleitung
27
Hallo, Spring Boot
29
Projektdefinition oder „Project Object Model“
29
Abhängigkeiten definieren
31
Hallo, Welt!
33
Liefern
36
Fehler erkennen
38
II Spring Boot
41
Projektstruktur
43
Build-Management-Tools
43
Maven
44
Gradle
49
Pakete und Klassen strukturieren
51
Spring Initializr
53
IDE-Unterstützung
55
Spring Tool Suite
55
NetBeans IDE
59
IntelliJ IDEA
62
Die Qual der Wahl
64
Spring-Framework-Grundlagen
65
Dependency Injection
66
Der Spring-Container
66
Inversion of Control
68
Ausblick
72
Aspektorientierte Programmierung
72
Einführung
72
Spring und AOP
73
Konfiguration
77
Externe Konfiguration
77
Konfigurationsdateien
79
Zugriff auf Konfiguration
84
Interne Konfiguration
94
Profile
94
Konfigurationsklassen
96
Automatische Konfiguration
103
Die Magie hinter Spring Boot
107
Grundlagen
108
Namensgebung
109
Factories Loader
109
Konfiguration, nur unter Bedingung
110
Auf Anwesenheit von Klassen hin testen
111
Auf Anwesenheit von Beans hin testen
112
Die Konfiguration auswerten
113
Weitere Bedingungen nutzen
113
Bedingungen logisch verknüpfen
114
Metadaten bereitstellen
115
Ihren Starter deployen
115
Fazit
117
Logging
119
Gemeinsame Konfiguration
120
Erweiterte Konfiguration
122
Logback
123
Log4j 2
124
Java Util Logging (JUL)
126
Zugriffslogs
126
Tomcat
126
Undertow
127
Remote-Konfiguration
128
HTTP-Endpunkt
128
JMX
130
Remote-Logging
130
Beschleunigter Entwicklungsprozess mit den devtools
133
Automatische Neustarts
134
Automatisches Neuladen von Inhalten
137
III Das Spring-Ökosystem
139
Webanwendungen
141
Spring Web MVC
142
Die Grundlagen verstehen
142
Funktionen kennenlernen
144
Spring Web MVC automatisch konfigurieren
151
Eingebetteten Webcontainer nutzen
152
Statische Inhalte ausliefern
157
JSON-Serialisierung und -Deserialisierung steuern
158
Hochgeladene Dateien verarbeiten
162
Zusätzliche Scopes beherrschen
165
Template Engines
168
Thymeleaf-Templates nutzen
170
Groovy-Templates verwenden
174
Ausblick
175
Über WebSockets kommunizieren
176
JAX-RS nutzen
177
Security
179
Minimale Autokonfiguration
180
Die Grundlagen verstehen
180
Authentifizierung
181
Autorisierung
182
Spring Security und Spring Web MVC
183
Methodensicherheit
184
Sicherheit auf HTTP-Header-Ebene
185
Anwendungsbeispiele
187
Die Standardkonfiguration nutzen
187
Methodensicherheit aktivieren
189
Gesicherte URLs und Methoden testen
190
Eine eigene Benutzerverwaltung anbinden
192
Passwörter sicher speichern
193
HTTP-Sicherheit anpassen
196
Form-Login und Webintegration nutzen
198
Spring Data Repositorys absichern
199
OAuth 2 nutzen
200
Ausblick
208
Persistenz
209
Spring Data
209
Relationale Datenbanken
210
Datasources
210
Datenbankinitialisierung und -migration
214
Transaktionen
220
Datenbankzugriff
226
NoSQL-Technologien
239
Spring Data MongoDB
239
Weitere Spring-Data-Module
244
Fazit
246
Caching
247
Aspekte eines Cache
247
Deklaratives Caching
248
Caching aktivieren
249
Caching mit Spring Boot
250
Beispiele und Sonderfälle
251
Cachen von 3rd-Party-Abhängigkeiten
252
Synchrones Caching
253
Caching von Web-Controller-Methoden
254
Messaging
255
Über JMS kommunzieren
258
JMS-Grundlagen kennen
259
Einen JMS-Broker konfigurieren
261
JmsTemplate und Listener verstehen
261
AMQP nutzen
268
Redis als Messaging-System verwenden
270
Apache Kafka anbinden
272
Ausblick: Spring Cloud Stream
273
E-Mail
277
Mit Spring Boot E-Mails verschicken
277
Reaktive Programmierung
279
Reactive Streams und Project Reactor
281
WebFlux-Modul
285
Klassische Annotationen verwenden
287
Datenquellen
289
Funktionales Programmiermodell
294
Reaktive Methoden testen
300
Reaktive Views benutzen
302
Spring Security mit WebFlux verwenden
303
Ausblick: Spring Cloud Function
304
Tests und Dokumentation
307
Spring-Boot-Starter-Test
308
Unit-Tests
309
Integrationstests
314
Grundlage: Das Frameworkmodul „spring-test“
314
Spring-Boot-Anwendungen testen
319
Automatische Mock-Objekte
325
Explizite Tests technischer Schichten
327
Erweiterte Testkonfiguration
332
Hilfsmittel
338
Fazit
339
Dynamische JVM-Sprachen und polyglotte Programmierung
341
Groovy
342
Das Spring-Boot-Commandline-Interface
344
Kotlin
348
IV Produktivsetzung
351
Actuator
353
Bereitstellen des Spring Boot Actuator
353
Übersicht
354
Security
356
Konfiguration der HTTP-Endpunkte
359
Konfiguration der JMX-Endpunkte
359
Allgemeine Informationen
360
Health-Status
362
Metriken mit Micrometer aufzeichnen
364
Verfügbare Metriken
366
Eigene Metriken erfassen
367
Den Metrics-Endpunkt benutzen
368
Metriken exportieren und auswerten
370
Eigene Endpunkte
371
Verteilung
373
Artefakte
373
Klassische Installation
379
Als Unix/Linux Service
379
Als Windows-Dienst
383
Servlet-Container
388
War-Deployment
388
Klassische Spring-Anwendungen migrieren
391
Verteilung in die Cloud
392
Cloud Foundry
393
Andere Plattformen und Anbieter
399
V Microservices mit Spring Cloud: ein Einstieg
401
Einführung und Übersicht
403
Was ist eine Microservice-Architektur?
403
Was gehört alles zu Spring Cloud?
404
Spring Cloud in Ihr Projekt einbinden
405
Kontexthierarchien
406
Der Bootstrap-Kontext
406
Der Wochenplaner: ein verteiltes Beispiel
408
Konfiguration in verteilter Umgebung
409
Den Konfigurationsserver starten
409
Clients anbinden
411
Service Discovery mit Netflix Eureka
413
Einen Eureka-Server betreiben
413
Services am Eureka-Server anmelden
415
Services aus Eureka benutzen
417
Circuit Breaker
423
Spring Cloud Hystrix nutzen
423
Weitere Aufgaben lösen
429
Lebenszyklus von Spring-Anwendungen und Beans
431
Auf Ereignisse im Lebenszyklus einer Anwendung reagieren
431
Den Lebenszyklus von Beans verstehen
434
Erweiterte Konfiguration von Datasources
437
Upgrade von Spring Boot 1 auf 2
443
Spring 5
443
Neue Voraussetzungen: Spring 5 und Java 8
443
Neue Funktionen und Verbesserungen
444
Änderungen in Spring Boot 2
446
Glossar
451
Abkürzungen
455
Index
457