O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Spring Boot 2

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

  1. Cover
  2. Titel
  3. Impressum
  4. Inhaltsverzeichnis
  5. Geleitwort
  6. Vorwort
  7. Wege durch das Buch
  8. I Einleitung
    1. 1 Hallo, Spring Boot
    2. 1.1 Projektdefinition oder »Project Object Model«
    3. 1.2 Abhängigkeiten definieren
    4. 1.3 Hallo, Welt!
    5. 1.4 Liefern
    6. 1.5 Fehler erkennen
  9. II Spring Boot
    1. 2 Projektstruktur
    2. 2.1 Build-Management-Tools
    3. 2.1.1 Maven
    4. 2.1.2 Gradle
    5. 2.2 Pakete und Klassen strukturieren
    6. 2.3 Spring Initializr
    7. 2.4 IDE-Unterstützung
    8. 2.4.1 Spring Tool Suite
    9. 2.4.2 NetBeans IDE
    10. 2.4.3 IntelliJ IDEA
    11. 2.4.4 Die Qual der Wahl
    12. 3 Spring-Framework-Grundlagen
    13. 3.1 Dependency Injection
    14. 3.1.1 Der Spring-Container
    15. 3.1.2 Inversion of Control
    16. 3.1.3 Ausblick
    17. 3.2 Aspektorientierte Programmierung
    18. 3.2.1 Einführung
    19. 3.2.2 Spring und AOP
    20. 4 Konfiguration
    21. 4.1 Externe Konfiguration
    22. 4.1.1 Konfigurationsdateien
    23. 4.1.2 Zugriff auf Konfiguration
    24. 4.2 Interne Konfiguration
    25. 4.2.1 Profile
    26. 4.2.2 Konfigurationsklassen
    27. 4.2.3 Automatische Konfiguration
    28. 5 Die Magie hinter Spring Boot
    29. 5.1 Grundlagen
    30. 5.1.1 Namensgebung
    31. 5.1.2 Factories Loader
    32. 5.2 Konfiguration, nur unter Bedingung
    33. 5.2.1 Auf Anwesenheit von Klassen hin testen
    34. 5.2.2 Auf Anwesenheit von Beans hin testen
    35. 5.2.3 Die Konfiguration auswerten
    36. 5.2.4 Weitere Bedingungen nutzen
    37. 5.2.5 Bedingungen logisch verknüpfen
    38. 5.2.6 Metadaten bereitstellen
    39. 5.2.7 Ihren Starter deployen
    40. 5.3 Fazit
    41. 6 Logging
    42. 6.1 Gemeinsame Konfiguration
    43. 6.2 Erweiterte Konfiguration
    44. 6.2.1 Logback
    45. 6.2.2 Log4j 2
    46. 6.2.3 Java Util Logging (JUL)
    47. 6.3 Zugriffslogs
    48. 6.3.1 Tomcat
    49. 6.3.2 Undertow
    50. 6.4 Remote-Konfiguration
    51. 6.4.1 HTTP-Endpunkt
    52. 6.4.2 JMX
    53. 6.5 Remote-Logging
    54. 7 Beschleunigter Entwicklungsprozess mit den devtools
    55. 7.1 Automatische Neustarts
    56. 7.2 Automatisches Neuladen von Inhalten
  10. III Das Spring-Ökosystem
    1. 8 Webanwendungen
    2. 8.1 Spring Web MVC
    3. 8.1.1 Die Grundlagen verstehen
    4. 8.1.2 Funktionen kennenlernen
    5. 8.1.3 Spring Web MVC automatisch konfigurieren
    6. 8.1.4 Eingebetteten Webcontainer nutzen
    7. 8.1.5 Statische Inhalte ausliefern
    8. 8.1.6 JSON-Serialisierung und -Deserialisierung steuern
    9. 8.1.7 Hochgeladene Dateien verarbeiten
    10. 8.1.8 Zusätzliche Scopes beherrschen
    11. 8.2 Template Engines
    12. 8.2.1 Thymeleaf-Templates nutzen
    13. 8.2.2 Groovy-Templates verwenden
    14. 8.2.3 Ausblick
    15. 8.3 Über WebSockets kommunizieren
    16. 8.4 JAX-RS nutzen
    17. 9 Security
    18. 9.1 Minimale Autokonfiguration
    19. 9.2 Die Grundlagen verstehen
    20. 9.2.1 Authentifizierung
    21. 9.2.2 Autorisierung
    22. 9.2.3 Spring Security und Spring Web MVC
    23. 9.2.4 Methodensicherheit
    24. 9.2.5 Sicherheit auf HTTP-Header-Ebene
    25. 9.3 Anwendungsbeispiele
    26. 9.3.1 Die Standardkonfiguration nutzen
    27. 9.3.2 Methodensicherheit aktivieren
    28. 9.3.3 Gesicherte URLs und Methoden testen
    29. 9.3.4 Eine eigene Benutzerverwaltung anbinden
    30. 9.3.5 Passwörter sicher speichern
    31. 9.3.6 HTTP-Sicherheit anpassen
    32. 9.3.7 Form-Login und Webintegration nutzen
    33. 9.3.8 Spring Data Repositorys absichern
    34. 9.3.9 OAuth 2 nutzen
    35. 9.4 Ausblick
    36. 10 Persistenz
    37. 10.1 Spring Data
    38. 10.2 Relationale Datenbanken
    39. 10.2.1 Datasources
    40. 10.2.2 Datenbankinitialisierung und -migration
    41. 10.2.3 Transaktionen
    42. 10.2.4 Datenbankzugriff
    43. 10.3 NoSQL-Technologien
    44. 10.3.1 Spring Data MongoDB
    45. 10.3.2 Weitere Spring-Data-Module
    46. 10.4 Fazit
    47. 11 Caching
    48. 11.1 Aspekte eines Cache
    49. 11.2 Deklaratives Caching
    50. 11.2.1 Caching aktivieren
    51. 11.3 Caching mit Spring Boot
    52. 11.4 Beispiele und Sonderfälle
    53. 11.4.1 Cachen von 3rd-Party-Abhängigkeiten
    54. 11.4.2 Synchrones Caching
    55. 11.4.3 Caching von Web-Controller-Methoden
    56. 12 Messaging
    57. 12.1 Über JMS kommunzieren
    58. 12.1.1 JMS-Grundlagen kennen
    59. 12.1.2 Einen JMS-Broker konfigurieren
    60. 12.1.3 JmsTemplate und Listener verstehen
    61. 12.2 AMQP nutzen
    62. 12.3 Redis als Messaging-System verwenden
    63. 12.4 Apache Kafka anbinden
    64. 12.5 Ausblick: Spring Cloud Stream
    65. 13 E-Mail
    66. 13.1 Mit Spring Boot E-Mails verschicken
    67. 14 Reaktive Programmierung
    68. 14.1 Reactive Streams und Project Reactor
    69. 14.2 WebFlux-Modul
    70. 14.2.1 Klassische Annotationen verwenden
    71. 14.2.2 Datenquellen
    72. 14.2.3 Funktionales Programmiermodell
    73. 14.2.4 Reaktive Methoden testen
    74. 14.2.5 Reaktive Views benutzen
    75. 14.2.6 Spring Security mit WebFlux verwenden
    76. 14.3 Ausblick: Spring Cloud Function
    77. 15 Tests und Dokumentation
    78. 15.1 Spring-Boot-Starter-Test
    79. 15.2 Unit-Tests
    80. 15.3 Integrationstests
    81. 15.3.1 Grundlage: Das Frameworkmodul »spring-test«
    82. 15.3.2 Spring-Boot-Anwendungen testen
    83. 15.3.3 Automatische Mock-Objekte
    84. 15.3.4 Explizite Tests technischer Schichten
    85. 15.3.5 Erweiterte Testkonfiguration
    86. 15.3.6 Hilfsmittel
    87. 15.3.7 Fazit
    88. 16 Dynamische JVM-Sprachen und polyglotte Programmierung
    89. 16.1 Groovy
    90. 16.1.1 Das Spring-Boot-Commandline-Interface
    91. 16.2 Kotlin
  11. IV Produktivsetzung
    1. 17 Actuator
    2. 17.1 Bereitstellen des Spring Boot Actuator
    3. 17.2 Übersicht
    4. 17.2.1 Security
    5. 17.2.2 Konfiguration der HTTP-Endpunkte
    6. 17.2.3 Konfiguration der JMX-Endpunkte
    7. 17.3 Allgemeine Informationen
    8. 17.4 Health-Status
    9. 17.5 Metriken mit Micrometer aufzeichnen
    10. 17.5.1 Verfügbare Metriken
    11. 17.5.2 Eigene Metriken erfassen
    12. 17.5.3 Den Metrics-Endpunkt benutzen
    13. 17.5.4 Metriken exportieren und auswerten
    14. 17.6 Eigene Endpunkte
    15. 18 Verteilung
    16. 18.1 Artefakte
    17. 18.2 Klassische Installation
    18. 18.2.1 Als Unix/Linux Service
    19. 18.2.2 Als Windows-Dienst
    20. 18.3 Servlet-Container
    21. 18.3.1 War-Deployment
    22. 18.3.2 Klassische Spring-Anwendungen migrieren
    23. 18.4 Verteilung in die Cloud
    24. 18.4.1 Cloud Foundry
    25. 18.4.2 Andere Plattformen und Anbieter
  12. V Microservices mit Spring Cloud: ein Einstieg
    1. 19 Einführung und Übersicht
    2. 19.1 Was ist eine Microservice-Architektur?
    3. 19.2 Was gehört alles zu Spring Cloud?
    4. 19.2.1 Spring Cloud in Ihr Projekt einbinden
    5. 19.3 Kontexthierarchien
    6. 19.3.1 Der Bootstrap-Kontext
    7. 19.4 Der Wochenplaner: ein verteiltes Beispiel
    8. 20 Konfiguration in verteilter Umgebung
    9. 20.1 Den Konfigurationsserver starten
    10. 20.2 Clients anbinden
    11. 21 Service Discovery mit Netflix Eureka
    12. 21.1 Einen Eureka-Server betreiben
    13. 21.2 Services am Eureka-Server anmelden
    14. 21.3 Services aus Eureka benutzen
    15. 22 Circuit Breaker
    16. 22.1 Spring Cloud Hystrix nutzen
    17. 23 Weitere Aufgaben lösen
    18. A Lebenszyklus von Spring-Anwendungen und Beans
    19. A.1 Auf Ereignisse im Lebenszyklus einer Anwendung reagieren
    20. A.2 Den Lebenszyklus von Beans verstehen
    21. B Erweiterte Konfiguration von Datasources
    22. C Upgrade von Spring Boot 1 auf 2
    23. C.1 Spring 5
    24. C.1.1 Neue Voraussetzungen: Spring 5 und Java 8
    25. C.1.2 Neue Funktionen und Verbesserungen
    26. C.2 Änderungen in Spring Boot 2
  13. Glossar
  14. Abkürzungen
  15. Index
  16. Fußnoten