Christian Ullenboom
Spring Boot 3 und Spring Framework 6
Das umfassende Handbuch zur modernen Softwareentwicklung mit Java - Einführung, Praxistipps, Design und Patterns - Ausgabe 2025
Christian Ullenboom
Spring Boot 3 und Spring Framework 6
Das umfassende Handbuch zur modernen Softwareentwicklung mit Java - Einführung, Praxistipps, Design und Patterns - Ausgabe 2025
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Enterprise-Anwendungen mit Java, ohne Ballast und voll auf der Höhe der Zeit? Willkommen in der Welt von Spring und Spring Boot! Christian Ullenboom zeigt Ihnen in diesem umfassenden Handbuch, was Sie über das Framework wissen sollten - zum Lernen und zum Nachschlagen. 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 aufsetzenSpring Core ContainerDependency…mehr
Andere Kunden interessierten sich auch für
- Christian UllenboomSpring Boot 3 and Spring Framework 650,99 €
- Marten DeinumSpring 6 Recipes54,99 €
- Michael SimonsSpring Boot 236,90 €
- Tarun TelangLearn Microservices with Spring Boot 342,99 €
- Banu ParasuramanPractical Spring Cloud Function29,99 €
- Felipe GutierrezIntroducing Spring Framework 649,99 €
- François FernandèsSpring Boot 339,90 €
-
-
-
Enterprise-Anwendungen mit Java, ohne Ballast und voll auf der Höhe der Zeit? Willkommen in der Welt von Spring und Spring Boot! Christian Ullenboom zeigt Ihnen in diesem umfassenden Handbuch, was Sie über das Framework wissen sollten - zum Lernen und zum Nachschlagen. 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 aufsetzenSpring Core ContainerDependency Injection und Inversion of ControlTestgetriebene Entwicklung mit Spring BootCachingJava Persistency Query LanguageSpring DataRESTful WebservicesOpenAPI-DokumentationSpring SecurityMonitoringLoggingDeployment
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Aus dem Inhalt:
Das erste Projekt aufsetzenSpring Core ContainerDependency Injection und Inversion of ControlTestgetriebene Entwicklung mit Spring BootCachingJava Persistency Query LanguageSpring DataRESTful WebservicesOpenAPI-DokumentationSpring SecurityMonitoringLoggingDeployment
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/10421
- 2., erw. Aufl.
- Seitenzahl: 1046
- Erscheinungstermin: 6. Februar 2025
- Deutsch
- Abmessung: 247mm x 191mm x 62mm
- Gewicht: 2043g
- ISBN-13: 9783367104215
- ISBN-10: 3367104213
- Artikelnr.: 71759267
- Herstellerkennzeichnung
- Rheinwerk Verlag GmbH
- Rheinwerkallee 4
- 53227 Bonn
- Info@rheinwerk-verlag.de
- +49228421500
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/10421
- 2., erw. Aufl.
- Seitenzahl: 1046
- Erscheinungstermin: 6. Februar 2025
- Deutsch
- Abmessung: 247mm x 191mm x 62mm
- Gewicht: 2043g
- ISBN-13: 9783367104215
- ISBN-10: 3367104213
- Artikelnr.: 71759267
- Herstellerkennzeichnung
- Rheinwerk Verlag GmbH
- Rheinwerkallee 4
- 53227 Bonn
- Info@rheinwerk-verlag.de
- +49228421500
Vorwort ... 23
1. Einleitung ... 33
1.1 ... Einleitung und ein erstes Spring-Projekt ... 33
1.2 ... Dependencies und Starter eines Spring-Boot-Projekts ... 54
1.3 ... Einstieg in die Konfigurationen und das Logging ... 62
2. Container für Spring-managed Beans ... 67
2.1 ... Spring-Container ... 67
2.2 ... Design und Strukturierung einer Anwendung ... 75
2.3 ... Spring-managed Beans durch Classpath-Scanning aufnehmen ... 81
2.4 ... Interaktive Anwendungen mit der Spring Shell ... 95
2.5 ... Die Verweisspritze ... 101
2.6 ... Konfigurationsklassen und Fabrikmethoden ... 119
2.7 ... Abstraktion und Qualifizierungen ... 137
2.8 ... Lebenszyklus der Beans ... 158
2.9 ... Annotationen aus JSR 330, »Dependency Injection for Java« * ... 183
2.10 ... Autokonfiguration ... 185
2.11 ... Spring Expression Language (SpEL) ... 200
3. Ausgewählte Module des Spring Frameworks ... 207
3.1 ... Hilfsklassen im Spring Framework ... 207
3.2 ... Externe Konfiguration und das Environment ... 208
3.3 ... Am Anfang und Ende ... 258
3.4 ... Ereignisbehandlung ... 268
3.5 ... Ressourcen-Abstraktion mit Resource ... 283
3.6 ... Typkonvertierung mit ConversionService ... 288
3.7 ... Internationalisierung * ... 306
3.8 ... Testgetriebene Entwicklung mit Spring Boot ... 312
3.9 ... Scheibchen testen am Beispiel von JSON * ... 340
3.10 ... Scheduling * ... 352
3.11 ... Typen aus org.springframework.*.[lang util] ... 356
4. Ausgewählte Proxies ... 365
4.1 ... Proxy-Pattern ... 366
4.2 ... Caching ... 372
4.3 ... Asynchrone Aufrufe ... 392
4.4 ... TaskExecutor * ... 400
4.5 ... Spring und Bean Validation ... 406
4.6 ... Spring Retry * ... 417
5. Relationale Datenbanken anbinden ... 427
5.1 ... Eine H2-Datenbank aufsetzen ... 427
5.2 ... Datenbankzugriffe mit Spring realisieren ... 436
5.3 ... Der Spring Boot Starter JDBC ... 438
5.4 ... JdbcTemplate ... 451
5.5 ... Datentypen zum Mapping auf Ergebnisse ... 457
5.6 ... NamedParameterJdbcTemplate ... 468
5.7 ... Batch-Operationen * ... 474
5.8 ... Es wird groß mit BLOB und CLOB * ... 483
5.9 ... Das Paket org.springframework.jdbc.core.simple * ... 487
5.10 ... Das Paket org.springframework.jdbc.object * ... 494
5.11 ... Transaktionen ... 497
6. Jakarta Persistence mit Spring ... 511
6.1 ... Welt der Objekte und der Datenbanken ... 511
6.2 ... Jakarta Persistence ... 517
6.3 ... Spring Data JPA ... 520
6.4 ... Die Jakarta-Persistence-Entity-Bean ... 523
6.5 ... Die Jakarta Persistence API ... 531
6.6 ... Die Jakarta Persistence Query Language (JPQL) ... 537
6.7 ... Datenbankfunktionen aufrufen und native SQL-Anfragen senden ... 560
6.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 567
6.9 ... Persistence Context und weitere Transaktionssteuerungen ... 574
6.10 ... Weiterführende OR-Metadaten ... 579
6.11 ... Beziehungen zwischen Entitäten ... 600
6.12 ... FetchType: Lazy und Eager Loading ... 613
6.13 ... Cascading ... 619
6.14 ... Repositories ... 624
7. Spring Data JPA ... 635
7.1 ... Welche Aufgaben erfüllt Spring Data? ... 635
7.2 ... Spring Data Commons: CrudRepository ... 637
7.3 ... Untertypen von CrudRepository: JpaRepository etc. ... 642
7.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 647
7.5 ... QueryByExampleExecutor * ... 658
7.6 ... Eigene Abfragen mit @Query formulieren ... 664
7.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 675
7.8 ... Derived Query Methods ... 679
7.9 ... Die Criteria API und der JpaSpecificationExecutor ... 686
7.10 ... Alternativen zu JDBC Jakarta Persistence ... 698
7.11 ... Gutes Design mit Repositories ... 712
7.12 ... Projektionen ... 717
7.13 ... [Fetchable]FluentQuery * ... 723
7.14 ... Auditing * ... 725
7.15 ... Incremental Data Migration ... 729
7.16 ... Die Datenzugriffsschicht testen ... 736
8. Spring Data für NoSQL-Datenbanken ... 749
8.1 ... Not only SQL ... 749
8.2 ... MongoDB ... 750
8.3 ... Elasticsearch ... 764
9. Spring Web ... 777
9.1 ... Webserver ... 777
9.2 ... Dynamische Inhalte generieren ... 784
9.3 ... Spring Web MVC ... 789
9.4 ... Hot Code Swapping ... 796
9.5 ... Das Hypertext Transfer Protocol (HTTP) ... 797
9.6 ... Request Matching ... 800
9.7 ... Response senden ... 803
9.8 ... Request auswerten ... 815
9.9 ... Typkonvertierung der Parameter ... 841
9.10 ... Ausnahmebehandlung und Fehlermeldung ... 850
9.11 ... Webservices und RESTful API ... 865
9.12 ... GraphQL ... 868
9.13 ... Asynchrone Web-Requests * ... 897
9.14 ... Spring Data Web Support ... 901
9.15 ... Dokumentation einer RESTful API mit OpenAPI ... 908
9.16 ... Testen der Webschicht ... 919
9.17 ... Best Practices bei der Nutzung einer RESTful API ... 928
9.18 ... Webanwendungen mit Spring Security absichern ... 934
9.19 ... RESTful Webservices konsumieren ... 964
10. Spring AI ... 983
10.1 ... Was ist künstliche Intelligenz? ... 983
10.2 ... Ollama ... 985
10.3 ... Spring AI nutzen ... 987
10.4 ... Prompt aufbauen ... 990
10.5 ... Ausblick ... 993
11. Logging und Monitoring ... 995
11.1 ... Logging ... 995
11.2 ... Logging-Implementierung ... 996
11.3 ... Anwendungen mit dem Spring Boot Actuator überwachen ... 1004
11.4 ... Micrometer und Prometheus ... 1013
12. Build und Deployment ... 1021
12.1 ... Spring-Boot-Programme verpacken und ausführen ... 1021
12.2 ... Spring-Anwendungen im OCI-Container ... 1024
Index ... 1037
1. Einleitung ... 33
1.1 ... Einleitung und ein erstes Spring-Projekt ... 33
1.2 ... Dependencies und Starter eines Spring-Boot-Projekts ... 54
1.3 ... Einstieg in die Konfigurationen und das Logging ... 62
2. Container für Spring-managed Beans ... 67
2.1 ... Spring-Container ... 67
2.2 ... Design und Strukturierung einer Anwendung ... 75
2.3 ... Spring-managed Beans durch Classpath-Scanning aufnehmen ... 81
2.4 ... Interaktive Anwendungen mit der Spring Shell ... 95
2.5 ... Die Verweisspritze ... 101
2.6 ... Konfigurationsklassen und Fabrikmethoden ... 119
2.7 ... Abstraktion und Qualifizierungen ... 137
2.8 ... Lebenszyklus der Beans ... 158
2.9 ... Annotationen aus JSR 330, »Dependency Injection for Java« * ... 183
2.10 ... Autokonfiguration ... 185
2.11 ... Spring Expression Language (SpEL) ... 200
3. Ausgewählte Module des Spring Frameworks ... 207
3.1 ... Hilfsklassen im Spring Framework ... 207
3.2 ... Externe Konfiguration und das Environment ... 208
3.3 ... Am Anfang und Ende ... 258
3.4 ... Ereignisbehandlung ... 268
3.5 ... Ressourcen-Abstraktion mit Resource ... 283
3.6 ... Typkonvertierung mit ConversionService ... 288
3.7 ... Internationalisierung * ... 306
3.8 ... Testgetriebene Entwicklung mit Spring Boot ... 312
3.9 ... Scheibchen testen am Beispiel von JSON * ... 340
3.10 ... Scheduling * ... 352
3.11 ... Typen aus org.springframework.*.[lang util] ... 356
4. Ausgewählte Proxies ... 365
4.1 ... Proxy-Pattern ... 366
4.2 ... Caching ... 372
4.3 ... Asynchrone Aufrufe ... 392
4.4 ... TaskExecutor * ... 400
4.5 ... Spring und Bean Validation ... 406
4.6 ... Spring Retry * ... 417
5. Relationale Datenbanken anbinden ... 427
5.1 ... Eine H2-Datenbank aufsetzen ... 427
5.2 ... Datenbankzugriffe mit Spring realisieren ... 436
5.3 ... Der Spring Boot Starter JDBC ... 438
5.4 ... JdbcTemplate ... 451
5.5 ... Datentypen zum Mapping auf Ergebnisse ... 457
5.6 ... NamedParameterJdbcTemplate ... 468
5.7 ... Batch-Operationen * ... 474
5.8 ... Es wird groß mit BLOB und CLOB * ... 483
5.9 ... Das Paket org.springframework.jdbc.core.simple * ... 487
5.10 ... Das Paket org.springframework.jdbc.object * ... 494
5.11 ... Transaktionen ... 497
6. Jakarta Persistence mit Spring ... 511
6.1 ... Welt der Objekte und der Datenbanken ... 511
6.2 ... Jakarta Persistence ... 517
6.3 ... Spring Data JPA ... 520
6.4 ... Die Jakarta-Persistence-Entity-Bean ... 523
6.5 ... Die Jakarta Persistence API ... 531
6.6 ... Die Jakarta Persistence Query Language (JPQL) ... 537
6.7 ... Datenbankfunktionen aufrufen und native SQL-Anfragen senden ... 560
6.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 567
6.9 ... Persistence Context und weitere Transaktionssteuerungen ... 574
6.10 ... Weiterführende OR-Metadaten ... 579
6.11 ... Beziehungen zwischen Entitäten ... 600
6.12 ... FetchType: Lazy und Eager Loading ... 613
6.13 ... Cascading ... 619
6.14 ... Repositories ... 624
7. Spring Data JPA ... 635
7.1 ... Welche Aufgaben erfüllt Spring Data? ... 635
7.2 ... Spring Data Commons: CrudRepository ... 637
7.3 ... Untertypen von CrudRepository: JpaRepository etc. ... 642
7.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 647
7.5 ... QueryByExampleExecutor * ... 658
7.6 ... Eigene Abfragen mit @Query formulieren ... 664
7.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 675
7.8 ... Derived Query Methods ... 679
7.9 ... Die Criteria API und der JpaSpecificationExecutor ... 686
7.10 ... Alternativen zu JDBC Jakarta Persistence ... 698
7.11 ... Gutes Design mit Repositories ... 712
7.12 ... Projektionen ... 717
7.13 ... [Fetchable]FluentQuery * ... 723
7.14 ... Auditing * ... 725
7.15 ... Incremental Data Migration ... 729
7.16 ... Die Datenzugriffsschicht testen ... 736
8. Spring Data für NoSQL-Datenbanken ... 749
8.1 ... Not only SQL ... 749
8.2 ... MongoDB ... 750
8.3 ... Elasticsearch ... 764
9. Spring Web ... 777
9.1 ... Webserver ... 777
9.2 ... Dynamische Inhalte generieren ... 784
9.3 ... Spring Web MVC ... 789
9.4 ... Hot Code Swapping ... 796
9.5 ... Das Hypertext Transfer Protocol (HTTP) ... 797
9.6 ... Request Matching ... 800
9.7 ... Response senden ... 803
9.8 ... Request auswerten ... 815
9.9 ... Typkonvertierung der Parameter ... 841
9.10 ... Ausnahmebehandlung und Fehlermeldung ... 850
9.11 ... Webservices und RESTful API ... 865
9.12 ... GraphQL ... 868
9.13 ... Asynchrone Web-Requests * ... 897
9.14 ... Spring Data Web Support ... 901
9.15 ... Dokumentation einer RESTful API mit OpenAPI ... 908
9.16 ... Testen der Webschicht ... 919
9.17 ... Best Practices bei der Nutzung einer RESTful API ... 928
9.18 ... Webanwendungen mit Spring Security absichern ... 934
9.19 ... RESTful Webservices konsumieren ... 964
10. Spring AI ... 983
10.1 ... Was ist künstliche Intelligenz? ... 983
10.2 ... Ollama ... 985
10.3 ... Spring AI nutzen ... 987
10.4 ... Prompt aufbauen ... 990
10.5 ... Ausblick ... 993
11. Logging und Monitoring ... 995
11.1 ... Logging ... 995
11.2 ... Logging-Implementierung ... 996
11.3 ... Anwendungen mit dem Spring Boot Actuator überwachen ... 1004
11.4 ... Micrometer und Prometheus ... 1013
12. Build und Deployment ... 1021
12.1 ... Spring-Boot-Programme verpacken und ausführen ... 1021
12.2 ... Spring-Anwendungen im OCI-Container ... 1024
Index ... 1037
Vorwort ... 23
1. Einleitung ... 33
1.1 ... Einleitung und ein erstes Spring-Projekt ... 33
1.2 ... Dependencies und Starter eines Spring-Boot-Projekts ... 54
1.3 ... Einstieg in die Konfigurationen und das Logging ... 62
2. Container für Spring-managed Beans ... 67
2.1 ... Spring-Container ... 67
2.2 ... Design und Strukturierung einer Anwendung ... 75
2.3 ... Spring-managed Beans durch Classpath-Scanning aufnehmen ... 81
2.4 ... Interaktive Anwendungen mit der Spring Shell ... 95
2.5 ... Die Verweisspritze ... 101
2.6 ... Konfigurationsklassen und Fabrikmethoden ... 119
2.7 ... Abstraktion und Qualifizierungen ... 137
2.8 ... Lebenszyklus der Beans ... 158
2.9 ... Annotationen aus JSR 330, »Dependency Injection for Java« * ... 183
2.10 ... Autokonfiguration ... 185
2.11 ... Spring Expression Language (SpEL) ... 200
3. Ausgewählte Module des Spring Frameworks ... 207
3.1 ... Hilfsklassen im Spring Framework ... 207
3.2 ... Externe Konfiguration und das Environment ... 208
3.3 ... Am Anfang und Ende ... 258
3.4 ... Ereignisbehandlung ... 268
3.5 ... Ressourcen-Abstraktion mit Resource ... 283
3.6 ... Typkonvertierung mit ConversionService ... 288
3.7 ... Internationalisierung * ... 306
3.8 ... Testgetriebene Entwicklung mit Spring Boot ... 312
3.9 ... Scheibchen testen am Beispiel von JSON * ... 340
3.10 ... Scheduling * ... 352
3.11 ... Typen aus org.springframework.*.[lang util] ... 356
4. Ausgewählte Proxies ... 365
4.1 ... Proxy-Pattern ... 366
4.2 ... Caching ... 372
4.3 ... Asynchrone Aufrufe ... 392
4.4 ... TaskExecutor * ... 400
4.5 ... Spring und Bean Validation ... 406
4.6 ... Spring Retry * ... 417
5. Relationale Datenbanken anbinden ... 427
5.1 ... Eine H2-Datenbank aufsetzen ... 427
5.2 ... Datenbankzugriffe mit Spring realisieren ... 436
5.3 ... Der Spring Boot Starter JDBC ... 438
5.4 ... JdbcTemplate ... 451
5.5 ... Datentypen zum Mapping auf Ergebnisse ... 457
5.6 ... NamedParameterJdbcTemplate ... 468
5.7 ... Batch-Operationen * ... 474
5.8 ... Es wird groß mit BLOB und CLOB * ... 483
5.9 ... Das Paket org.springframework.jdbc.core.simple * ... 487
5.10 ... Das Paket org.springframework.jdbc.object * ... 494
5.11 ... Transaktionen ... 497
6. Jakarta Persistence mit Spring ... 511
6.1 ... Welt der Objekte und der Datenbanken ... 511
6.2 ... Jakarta Persistence ... 517
6.3 ... Spring Data JPA ... 520
6.4 ... Die Jakarta-Persistence-Entity-Bean ... 523
6.5 ... Die Jakarta Persistence API ... 531
6.6 ... Die Jakarta Persistence Query Language (JPQL) ... 537
6.7 ... Datenbankfunktionen aufrufen und native SQL-Anfragen senden ... 560
6.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 567
6.9 ... Persistence Context und weitere Transaktionssteuerungen ... 574
6.10 ... Weiterführende OR-Metadaten ... 579
6.11 ... Beziehungen zwischen Entitäten ... 600
6.12 ... FetchType: Lazy und Eager Loading ... 613
6.13 ... Cascading ... 619
6.14 ... Repositories ... 624
7. Spring Data JPA ... 635
7.1 ... Welche Aufgaben erfüllt Spring Data? ... 635
7.2 ... Spring Data Commons: CrudRepository ... 637
7.3 ... Untertypen von CrudRepository: JpaRepository etc. ... 642
7.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 647
7.5 ... QueryByExampleExecutor * ... 658
7.6 ... Eigene Abfragen mit @Query formulieren ... 664
7.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 675
7.8 ... Derived Query Methods ... 679
7.9 ... Die Criteria API und der JpaSpecificationExecutor ... 686
7.10 ... Alternativen zu JDBC Jakarta Persistence ... 698
7.11 ... Gutes Design mit Repositories ... 712
7.12 ... Projektionen ... 717
7.13 ... [Fetchable]FluentQuery * ... 723
7.14 ... Auditing * ... 725
7.15 ... Incremental Data Migration ... 729
7.16 ... Die Datenzugriffsschicht testen ... 736
8. Spring Data für NoSQL-Datenbanken ... 749
8.1 ... Not only SQL ... 749
8.2 ... MongoDB ... 750
8.3 ... Elasticsearch ... 764
9. Spring Web ... 777
9.1 ... Webserver ... 777
9.2 ... Dynamische Inhalte generieren ... 784
9.3 ... Spring Web MVC ... 789
9.4 ... Hot Code Swapping ... 796
9.5 ... Das Hypertext Transfer Protocol (HTTP) ... 797
9.6 ... Request Matching ... 800
9.7 ... Response senden ... 803
9.8 ... Request auswerten ... 815
9.9 ... Typkonvertierung der Parameter ... 841
9.10 ... Ausnahmebehandlung und Fehlermeldung ... 850
9.11 ... Webservices und RESTful API ... 865
9.12 ... GraphQL ... 868
9.13 ... Asynchrone Web-Requests * ... 897
9.14 ... Spring Data Web Support ... 901
9.15 ... Dokumentation einer RESTful API mit OpenAPI ... 908
9.16 ... Testen der Webschicht ... 919
9.17 ... Best Practices bei der Nutzung einer RESTful API ... 928
9.18 ... Webanwendungen mit Spring Security absichern ... 934
9.19 ... RESTful Webservices konsumieren ... 964
10. Spring AI ... 983
10.1 ... Was ist künstliche Intelligenz? ... 983
10.2 ... Ollama ... 985
10.3 ... Spring AI nutzen ... 987
10.4 ... Prompt aufbauen ... 990
10.5 ... Ausblick ... 993
11. Logging und Monitoring ... 995
11.1 ... Logging ... 995
11.2 ... Logging-Implementierung ... 996
11.3 ... Anwendungen mit dem Spring Boot Actuator überwachen ... 1004
11.4 ... Micrometer und Prometheus ... 1013
12. Build und Deployment ... 1021
12.1 ... Spring-Boot-Programme verpacken und ausführen ... 1021
12.2 ... Spring-Anwendungen im OCI-Container ... 1024
Index ... 1037
1. Einleitung ... 33
1.1 ... Einleitung und ein erstes Spring-Projekt ... 33
1.2 ... Dependencies und Starter eines Spring-Boot-Projekts ... 54
1.3 ... Einstieg in die Konfigurationen und das Logging ... 62
2. Container für Spring-managed Beans ... 67
2.1 ... Spring-Container ... 67
2.2 ... Design und Strukturierung einer Anwendung ... 75
2.3 ... Spring-managed Beans durch Classpath-Scanning aufnehmen ... 81
2.4 ... Interaktive Anwendungen mit der Spring Shell ... 95
2.5 ... Die Verweisspritze ... 101
2.6 ... Konfigurationsklassen und Fabrikmethoden ... 119
2.7 ... Abstraktion und Qualifizierungen ... 137
2.8 ... Lebenszyklus der Beans ... 158
2.9 ... Annotationen aus JSR 330, »Dependency Injection for Java« * ... 183
2.10 ... Autokonfiguration ... 185
2.11 ... Spring Expression Language (SpEL) ... 200
3. Ausgewählte Module des Spring Frameworks ... 207
3.1 ... Hilfsklassen im Spring Framework ... 207
3.2 ... Externe Konfiguration und das Environment ... 208
3.3 ... Am Anfang und Ende ... 258
3.4 ... Ereignisbehandlung ... 268
3.5 ... Ressourcen-Abstraktion mit Resource ... 283
3.6 ... Typkonvertierung mit ConversionService ... 288
3.7 ... Internationalisierung * ... 306
3.8 ... Testgetriebene Entwicklung mit Spring Boot ... 312
3.9 ... Scheibchen testen am Beispiel von JSON * ... 340
3.10 ... Scheduling * ... 352
3.11 ... Typen aus org.springframework.*.[lang util] ... 356
4. Ausgewählte Proxies ... 365
4.1 ... Proxy-Pattern ... 366
4.2 ... Caching ... 372
4.3 ... Asynchrone Aufrufe ... 392
4.4 ... TaskExecutor * ... 400
4.5 ... Spring und Bean Validation ... 406
4.6 ... Spring Retry * ... 417
5. Relationale Datenbanken anbinden ... 427
5.1 ... Eine H2-Datenbank aufsetzen ... 427
5.2 ... Datenbankzugriffe mit Spring realisieren ... 436
5.3 ... Der Spring Boot Starter JDBC ... 438
5.4 ... JdbcTemplate ... 451
5.5 ... Datentypen zum Mapping auf Ergebnisse ... 457
5.6 ... NamedParameterJdbcTemplate ... 468
5.7 ... Batch-Operationen * ... 474
5.8 ... Es wird groß mit BLOB und CLOB * ... 483
5.9 ... Das Paket org.springframework.jdbc.core.simple * ... 487
5.10 ... Das Paket org.springframework.jdbc.object * ... 494
5.11 ... Transaktionen ... 497
6. Jakarta Persistence mit Spring ... 511
6.1 ... Welt der Objekte und der Datenbanken ... 511
6.2 ... Jakarta Persistence ... 517
6.3 ... Spring Data JPA ... 520
6.4 ... Die Jakarta-Persistence-Entity-Bean ... 523
6.5 ... Die Jakarta Persistence API ... 531
6.6 ... Die Jakarta Persistence Query Language (JPQL) ... 537
6.7 ... Datenbankfunktionen aufrufen und native SQL-Anfragen senden ... 560
6.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 567
6.9 ... Persistence Context und weitere Transaktionssteuerungen ... 574
6.10 ... Weiterführende OR-Metadaten ... 579
6.11 ... Beziehungen zwischen Entitäten ... 600
6.12 ... FetchType: Lazy und Eager Loading ... 613
6.13 ... Cascading ... 619
6.14 ... Repositories ... 624
7. Spring Data JPA ... 635
7.1 ... Welche Aufgaben erfüllt Spring Data? ... 635
7.2 ... Spring Data Commons: CrudRepository ... 637
7.3 ... Untertypen von CrudRepository: JpaRepository etc. ... 642
7.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 647
7.5 ... QueryByExampleExecutor * ... 658
7.6 ... Eigene Abfragen mit @Query formulieren ... 664
7.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 675
7.8 ... Derived Query Methods ... 679
7.9 ... Die Criteria API und der JpaSpecificationExecutor ... 686
7.10 ... Alternativen zu JDBC Jakarta Persistence ... 698
7.11 ... Gutes Design mit Repositories ... 712
7.12 ... Projektionen ... 717
7.13 ... [Fetchable]FluentQuery * ... 723
7.14 ... Auditing * ... 725
7.15 ... Incremental Data Migration ... 729
7.16 ... Die Datenzugriffsschicht testen ... 736
8. Spring Data für NoSQL-Datenbanken ... 749
8.1 ... Not only SQL ... 749
8.2 ... MongoDB ... 750
8.3 ... Elasticsearch ... 764
9. Spring Web ... 777
9.1 ... Webserver ... 777
9.2 ... Dynamische Inhalte generieren ... 784
9.3 ... Spring Web MVC ... 789
9.4 ... Hot Code Swapping ... 796
9.5 ... Das Hypertext Transfer Protocol (HTTP) ... 797
9.6 ... Request Matching ... 800
9.7 ... Response senden ... 803
9.8 ... Request auswerten ... 815
9.9 ... Typkonvertierung der Parameter ... 841
9.10 ... Ausnahmebehandlung und Fehlermeldung ... 850
9.11 ... Webservices und RESTful API ... 865
9.12 ... GraphQL ... 868
9.13 ... Asynchrone Web-Requests * ... 897
9.14 ... Spring Data Web Support ... 901
9.15 ... Dokumentation einer RESTful API mit OpenAPI ... 908
9.16 ... Testen der Webschicht ... 919
9.17 ... Best Practices bei der Nutzung einer RESTful API ... 928
9.18 ... Webanwendungen mit Spring Security absichern ... 934
9.19 ... RESTful Webservices konsumieren ... 964
10. Spring AI ... 983
10.1 ... Was ist künstliche Intelligenz? ... 983
10.2 ... Ollama ... 985
10.3 ... Spring AI nutzen ... 987
10.4 ... Prompt aufbauen ... 990
10.5 ... Ausblick ... 993
11. Logging und Monitoring ... 995
11.1 ... Logging ... 995
11.2 ... Logging-Implementierung ... 996
11.3 ... Anwendungen mit dem Spring Boot Actuator überwachen ... 1004
11.4 ... Micrometer und Prometheus ... 1013
12. Build und Deployment ... 1021
12.1 ... Spring-Boot-Programme verpacken und ausführen ... 1021
12.2 ... Spring-Anwendungen im OCI-Container ... 1024
Index ... 1037