Book description
Spring Boot hat seit 2014 das Spring-Ökosystem revolutioniert und verdrängt in zunehmendem Maßen "klassische" Spring-Anwendungen.Dieses erste deutschsprachige Spring-Boot-Buch bietet eine umfassende Einführung in die von Spring Boot unterstützten Spring-Module und -Technologien. Dies betrifft Themen wie Webanwendungen, Reaktive Anwendungen, Security, Datenbanktechnologien, Caching, Dokumentation und Tests. Darüber hinaus stellt es verschiedene Möglichkeiten vor, Spring-Boot-Anwendungen zu deployen – sowohl in klassischen als auch in Cloud-Szenarien.
Table of contents
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- Geleitwort
- Vorwort
- Wege durch das Buch
- I Einleitung
-
II Spring Boot
- 2 Projektstruktur
- 2.1 Build-Management-Tools
- 2.1.1 Maven
- 2.1.2 Gradle
- 2.2 Pakete und Klassen strukturieren
- 2.3 Spring Initializr
- 2.4 IDE-Unterstützung
- 2.4.1 Spring Tool Suite
- 2.4.2 NetBeans IDE
- 2.4.3 IntelliJ IDEA
- 2.4.4 Die Qual der Wahl
- 3 Spring-Framework-Grundlagen
- 3.1 Dependency Injection
- 3.1.1 Der Spring-Container
- 3.1.2 Inversion of Control
- 3.1.3 Ausblick
- 3.2 Aspektorientierte Programmierung
- 3.2.1 Einführung
- 3.2.2 Spring und AOP
- 4 Konfiguration
- 4.1 Externe Konfiguration
- 4.1.1 Konfigurationsdateien
- 4.1.2 Zugriff auf Konfiguration
- 4.2 Interne Konfiguration
- 4.2.1 Profile
- 4.2.2 Konfigurationsklassen
- 4.2.3 Automatische Konfiguration
- 5 Die Magie hinter Spring Boot
- 5.1 Grundlagen
- 5.1.1 Namensgebung
- 5.1.2 Factories Loader
- 5.2 Konfiguration, nur unter Bedingung
- 5.2.1 Auf Anwesenheit von Klassen hin testen
- 5.2.2 Auf Anwesenheit von Beans hin testen
- 5.2.3 Die Konfiguration auswerten
- 5.2.4 Weitere Bedingungen nutzen
- 5.2.5 Bedingungen logisch verknüpfen
- 5.2.6 Metadaten bereitstellen
- 5.2.7 Ihren Starter deployen
- 5.3 Fazit
- 6 Logging
- 6.1 Gemeinsame Konfiguration
- 6.2 Erweiterte Konfiguration
- 6.2.1 Logback
- 6.2.2 Log4j 2
- 6.2.3 Java Util Logging (JUL)
- 6.3 Zugriffslogs
- 6.3.1 Tomcat
- 6.3.2 Undertow
- 6.4 Remote-Konfiguration
- 6.4.1 HTTP-Endpunkt
- 6.4.2 JMX
- 6.5 Remote-Logging
- 7 Beschleunigter Entwicklungsprozess mit den devtools
- 7.1 Automatische Neustarts
- 7.2 Automatisches Neuladen von Inhalten
-
III Das Spring-Ökosystem
- 8 Webanwendungen
- 8.1 Spring Web MVC
- 8.1.1 Die Grundlagen verstehen
- 8.1.2 Funktionen kennenlernen
- 8.1.3 Spring Web MVC automatisch konfigurieren
- 8.1.4 Eingebetteten Webcontainer nutzen
- 8.1.5 Statische Inhalte ausliefern
- 8.1.6 JSON-Serialisierung und -Deserialisierung steuern
- 8.1.7 Hochgeladene Dateien verarbeiten
- 8.1.8 Zusätzliche Scopes beherrschen
- 8.2 Template Engines
- 8.2.1 Thymeleaf-Templates nutzen
- 8.2.2 Groovy-Templates verwenden
- 8.2.3 Ausblick
- 8.3 Über WebSockets kommunizieren
- 8.4 JAX-RS nutzen
- 9 Security
- 9.1 Minimale Autokonfiguration
- 9.2 Die Grundlagen verstehen
- 9.2.1 Authentifizierung
- 9.2.2 Autorisierung
- 9.2.3 Spring Security und Spring Web MVC
- 9.2.4 Methodensicherheit
- 9.2.5 Sicherheit auf HTTP-Header-Ebene
- 9.3 Anwendungsbeispiele
- 9.3.1 Die Standardkonfiguration nutzen
- 9.3.2 Methodensicherheit aktivieren
- 9.3.3 Gesicherte URLs und Methoden testen
- 9.3.4 Eine eigene Benutzerverwaltung anbinden
- 9.3.5 Passwörter sicher speichern
- 9.3.6 HTTP-Sicherheit anpassen
- 9.3.7 Form-Login und Webintegration nutzen
- 9.3.8 Spring Data Repositorys absichern
- 9.3.9 OAuth 2 nutzen
- 9.4 Ausblick
- 10 Persistenz
- 10.1 Spring Data
- 10.2 Relationale Datenbanken
- 10.2.1 Datasources
- 10.2.2 Datenbankinitialisierung und -migration
- 10.2.3 Transaktionen
- 10.2.4 Datenbankzugriff
- 10.3 NoSQL-Technologien
- 10.3.1 Spring Data MongoDB
- 10.3.2 Weitere Spring-Data-Module
- 10.4 Fazit
- 11 Caching
- 11.1 Aspekte eines Cache
- 11.2 Deklaratives Caching
- 11.2.1 Caching aktivieren
- 11.3 Caching mit Spring Boot
- 11.4 Beispiele und Sonderfälle
- 11.4.1 Cachen von 3rd-Party-Abhängigkeiten
- 11.4.2 Synchrones Caching
- 11.4.3 Caching von Web-Controller-Methoden
- 12 Messaging
- 12.1 Über JMS kommunzieren
- 12.1.1 JMS-Grundlagen kennen
- 12.1.2 Einen JMS-Broker konfigurieren
- 12.1.3 JmsTemplate und Listener verstehen
- 12.2 AMQP nutzen
- 12.3 Redis als Messaging-System verwenden
- 12.4 Apache Kafka anbinden
- 12.5 Ausblick: Spring Cloud Stream
- 13 E-Mail
- 13.1 Mit Spring Boot E-Mails verschicken
- 14 Reaktive Programmierung
- 14.1 Reactive Streams und Project Reactor
- 14.2 WebFlux-Modul
- 14.2.1 Klassische Annotationen verwenden
- 14.2.2 Datenquellen
- 14.2.3 Funktionales Programmiermodell
- 14.2.4 Reaktive Methoden testen
- 14.2.5 Reaktive Views benutzen
- 14.2.6 Spring Security mit WebFlux verwenden
- 14.3 Ausblick: Spring Cloud Function
- 15 Tests und Dokumentation
- 15.1 Spring-Boot-Starter-Test
- 15.2 Unit-Tests
- 15.3 Integrationstests
- 15.3.1 Grundlage: Das Frameworkmodul »spring-test«
- 15.3.2 Spring-Boot-Anwendungen testen
- 15.3.3 Automatische Mock-Objekte
- 15.3.4 Explizite Tests technischer Schichten
- 15.3.5 Erweiterte Testkonfiguration
- 15.3.6 Hilfsmittel
- 15.3.7 Fazit
- 16 Dynamische JVM-Sprachen und polyglotte Programmierung
- 16.1 Groovy
- 16.1.1 Das Spring-Boot-Commandline-Interface
- 16.2 Kotlin
-
IV Produktivsetzung
- 17 Actuator
- 17.1 Bereitstellen des Spring Boot Actuator
- 17.2 Übersicht
- 17.2.1 Security
- 17.2.2 Konfiguration der HTTP-Endpunkte
- 17.2.3 Konfiguration der JMX-Endpunkte
- 17.3 Allgemeine Informationen
- 17.4 Health-Status
- 17.5 Metriken mit Micrometer aufzeichnen
- 17.5.1 Verfügbare Metriken
- 17.5.2 Eigene Metriken erfassen
- 17.5.3 Den Metrics-Endpunkt benutzen
- 17.5.4 Metriken exportieren und auswerten
- 17.6 Eigene Endpunkte
- 18 Verteilung
- 18.1 Artefakte
- 18.2 Klassische Installation
- 18.2.1 Als Unix/Linux Service
- 18.2.2 Als Windows-Dienst
- 18.3 Servlet-Container
- 18.3.1 War-Deployment
- 18.3.2 Klassische Spring-Anwendungen migrieren
- 18.4 Verteilung in die Cloud
- 18.4.1 Cloud Foundry
- 18.4.2 Andere Plattformen und Anbieter
-
V Microservices mit Spring Cloud: ein Einstieg
- 19 Einführung und Übersicht
- 19.1 Was ist eine Microservice-Architektur?
- 19.2 Was gehört alles zu Spring Cloud?
- 19.2.1 Spring Cloud in Ihr Projekt einbinden
- 19.3 Kontexthierarchien
- 19.3.1 Der Bootstrap-Kontext
- 19.4 Der Wochenplaner: ein verteiltes Beispiel
- 20 Konfiguration in verteilter Umgebung
- 20.1 Den Konfigurationsserver starten
- 20.2 Clients anbinden
- 21 Service Discovery mit Netflix Eureka
- 21.1 Einen Eureka-Server betreiben
- 21.2 Services am Eureka-Server anmelden
- 21.3 Services aus Eureka benutzen
- 22 Circuit Breaker
- 22.1 Spring Cloud Hystrix nutzen
- 23 Weitere Aufgaben lösen
- A Lebenszyklus von Spring-Anwendungen und Beans
- A.1 Auf Ereignisse im Lebenszyklus einer Anwendung reagieren
- A.2 Den Lebenszyklus von Beans verstehen
- B Erweiterte Konfiguration von Datasources
- C Upgrade von Spring Boot 1 auf 2
- C.1 Spring 5
- C.1.1 Neue Voraussetzungen: Spring 5 und Java 8
- C.1.2 Neue Funktionen und Verbesserungen
- C.2 Änderungen in Spring Boot 2
- Glossar
- Abkürzungen
- Index
- Fußnoten
Product information
- Title: Spring Boot 2
- Author(s):
- Release date: May 2018
- Publisher(s): dpunkt
- ISBN: 9783864905254
You might also like
book
Spring Boot
Mit über 75 Millionen Downloads pro Monat ist Spring Boot das populärste und am weitesten verbreitete …
video
Getting Started with Spring Boot 2
This course offers hands-on experience building Spring Framework applications using Spring Boot. The first thing that …
book
Spring Boot 2.0 Cookbook - Second Edition
Take your application development skills to the next level by implementing Spring Boot features effectively About …
book
Spring Boot 2 Recipes: A Problem-Solution Approach
Solve all your Spring Boot 2 problems using complete and real-world code examples. When you start …