Installieren Sie die genialokal App auf Ihrem Startbildschirm für einen schnellen Zugriff und eine komfortable Nutzung.
Tippen Sie einfach auf Teilen:
Und dann auf "Zum Home-Bildschirm [+]".
Ihr gewünschter Artikel ist in 0 Buchhandlungen vorrätig - wählen Sie hier eine Buchhandlung in Ihrer Nähe aus:
Professionelle Enterprise-Anwendungen mit Java, ohne Ballast und voll auf der Höhe der Zeit! Willkommen in der Welt von Spring und Spring Boot! Dieses umfassende Handbuch von Bestsellerautor Christian Ullenboom zeigt Ihnen von Managed Beans bis hin zu Spring AI, was Sie über das Framework wissen sollten. Zum Lernen im Hands-On-Modus ebenso wie zum Vertiefen und Nachschlagen. Es bietet ein durchgehendes Anwendungsbeispiel, das sich schon in vielen Schulungen bewährt hat, enthält viele Tipps aus jahrelanger Praxis und klärt über mögliche Stolperfallen auf. Unabhängig davon, mit welcher Architektur Sie entwickeln 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 aufsetzen- Spring Core Container- Dependency Injection und Inversion of Control- Testgetriebene Entwicklung mit Spring Boot- Caching- Jakarta Persistence Query Language- Spring Data- RESTful Webservices- OpenAPI-Dokumentation- Spring AI- Spring Security- Monitoring- Logging- Deployment
Christian Ullenboom, Dipl.-Informatiker, ist seit Jahrzehnten in der Welt der C-Programmierung zu Hause, ein erfahrener Fachbuchautor und seit 1997 Trainer und Berater für objektorientierte Analyse und Design. Seit Jahren teilt er sein Wissen mit unzähligen Besuchern seiner Website, wo er Fragen beantwortet, Inhalte bereitstellt und diskutiert. Christian Ullenboom bietet auch Rheinwerk Seminare zu Java und Spring an.
Vorwort ... 23
1. Einleitung und erstes Beispiel ... 33
1.1 ... Geschichte von Spring Framework und Spring Boot ... 33
1.2 ... Dependencies und Starter eines Spring-Boot-Projekts ... 53
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 ... 91
2.5 ... Die Verweisspritze ... 96
2.6 ... Konfigurationsklassen und Fabrikmethoden ... 114
2.7 ... Abstraktion und Qualifizierungen ... 132
2.8 ... Lebenszyklus der Beans ... 149
2.9 ... Annotationen aus 'Jakarta Dependency Injection' * ... 170
2.10 ... Autokonfiguration ... 172
2.11 ... Spring Expression Language (SpEL) ... 186
3. Ausgewählte Module des Spring Frameworks ... 193
3.1 ... Hilfsklassen im Spring Framework ... 193
3.2 ... Externe Konfiguration und das Environment ... 194
3.3 ... Am Anfang und Ende ... 241
3.4 ... Ereignisbehandlung ... 251
3.5 ... Ressourcenabstraktion mit Resource ... 266
3.6 ... Typkonvertierung mit ConversionService ... 271
3.7 ... Internationalisierung * ... 289
3.8 ... Scheduling * ... 295
3.9 ... Typen aus org.springframework.*.[lang|util] ... 300
3.10 ... JSpecify-Null-Annotationen in Spring ... 306
4. Testgetriebene Entwicklung mit Spring Boot ... 309
4.1 ... Grundlagen der testgetriebenen Entwicklung ... 309
4.2 ... Testen mit Mock-Objekten ... 319
4.3 ... Testen mit Spring-Unterstützung ... 328
5. Ausgewählte Proxies ... 341
5.1 ... Proxy-Pattern ... 342
5.2 ... Caching ... 346
5.3 ... Asynchrone Aufrufe ... 366
5.4 ... TaskExecutor * ... 374
5.5 ... Spring und Bean Validation ... 380
6. Relationale Datenbanken anbinden ... 393
6.1 ... Eine H2-Datenbank aufsetzen ... 393
6.2 ... Datenbankzugriffe mit Spring realisieren ... 402
6.3 ... Der Spring Boot Starter JDBC ... 404
6.4 ... JdbcTemplate ... 417
6.5 ... Datentypen zum Mapping auf Ergebnisse ... 423
6.6 ... NamedParameterJdbcTemplate ... 434
6.7 ... Batch-Operationen * ... 440
6.8 ... Es wird groß mit BLOB und CLOB * ... 449
6.9 ... Das Paket org.springframework.jdbc.core.simple * ... 450
6.10 ... Das Paket org.springframework.jdbc.object * ... 457
6.11 ... Transaktionen ... 460
7. Jakarta Persistence mit Spring ... 475
7.1 ... Welt der Objekte und der Datenbanken ... 475
7.2 ... Jakarta Persistence ... 481
7.3 ... Spring Data JPA ... 484
7.4 ... Die Jakarta-Persistence-Entity-Bean ... 487
7.5 ... Die Jakarta Persistence API ... 494
7.6 ... Die Jakarta Persistence Query Language (JPQL) ... 501
7.7 ... Datenbankfunktionen aufrufen und native SQL-Abfragen senden ... 523
7.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 530
7.9 ... Persistence Context und weitere Transaktionssteuerungen ... 537
7.10 ... Weiterführende O/R-Metadaten ... 542
7.11 ... Beziehungen zwischen Entitäten ... 563
7.12 ... FetchType: Lazy und Eager Loading ... 577
7.13 ... Cascading ... 582
7.14 ... Repositories ... 587
8. Spring Data JPA ... 597
8.1 ... Welche Aufgaben erfüllt Spring Data? ... 597
8.2 ... Spring Data Commons: CrudRepository ... 599
8.3 ... Untertypen von CrudRepository: JpaRepository usw. ... 605
8.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 609
8.5 ... QueryByExampleExecutor * ... 620
8.6 ... Eigene Abfragen mit @Query formulieren ... 626
8.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 636
8.8 ... Derived Query Methods ... 640
8.9 ... Die Criteria API und der JpaSpecificationExecutor ... 647
8.10 ... Alternativen zu JDBC und Jakarta Persistence ... 659
8.11 ... Gutes Design mit Repositories ... 673
8.12 ... Projektionen ... 678
8.13 ... [Fetchable]FluentQuery * ... 685
8.14 ... Auditing * ... 687
8.15 ... Incremental Data Migration ... 691
8.16 ... Die Datenzugriffsschicht testen ... 697
9. Spring Data für NoSQL-Datenbanken ... 709
9.1 ... Not only SQL ... 709
9.2 ... MongoDB ... 710
10. Spring Web ... 725
10.1 ... Webserver ... 725
10.2 ... Dynamische Inhalte generieren ... 732
10.3 ... Spring Web MVC ... 737
10.4 ... Hot Code Swapping ... 744
10.5 ... Das Hypertext Transfer Protocol (HTTP) ... 745
10.6 ... Request Matching ... 748
10.7 ... Response senden ... 751
10.8 ... Request auswerten ... 763
10.9 ... Typkonvertierung der Parameter ... 789
10.10 ... Ausnahmebehandlung und Fehlermeldung ... 798
10.11 ... Webservices und RESTful API ... 813
10.12 ... GraphQL ... 816
10.13 ... Asynchrone Web-Requests * ... 845
10.14 ... Spring Data Web Support ... 849
10.15 ... Dokumentation einer RESTful API mit OpenAPI ... 856
10.16 ... Testen der Webschicht ... 866
10.17 ... Best Practices bei der Nutzung einer RESTful API ... 876
10.18 ... Webanwendungen mit Spring Security absichern ... 883
10.19 ... RESTful Webservices konsumieren ... 913
11. Spring AI ... 931
11.1 ... Was ist künstliche Intelligenz? ... 931
11.2 ... Ollama ... 933
11.3 ... KI-Modelle in Java-Programmen integrieren ... 935
11.4 ... Spring AI nutzen ... 936
11.5 ... Prompt aufbauen ... 940
11.6 ... Nachrichtenmodell und Prompt-Struktur ... 943
11.7 ... Strukturierte Ausgaben und Objekt-Mapping ... 948
11.8 ... Zugriff auf aktuelle und lokale Daten ... 951
11.9 ... Advisors ... 958
11.10 ... Verwaltung von Konversationskontext mit ChatMemory ... 962
11.11 ... Vektoren, Embeddings und semantische Suche ... 965
11.12 ... Ausblick ... 971
12. Logging und Monitoring ... 973
12.1 ... Logging ... 973
12.2 ... Logging-Implementierung ... 974
12.3 ... Anwendungen mit dem Spring Boot Actuator überwachen ... 982
12.4 ... Micrometer und Prometheus ... 991
13. Build und Deployment ... 999
13.1 ... Spring-Boot-Programme verpacken und ausführen ... 999
13.2 ... Spring-Anwendungen im OCI-Container ... 1002
Index ... 1015