Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Spring Boot 3 und Spring Framework 6

Das umfassende Handbuch
Buch | Hardcover
976 Seiten
2023 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-9049-4 (ISBN)
CHF 69,85 inkl. MwSt
  • Professionelle Enterprise-Anwendungen mit Java
  • Einführung, Praxistipps, Design und Patterns
  • Managed Beans, Datenzugriffsschicht, RESTful Services, Cloud-native Anwendungen u.v.m.

Moderne Softwareentwicklung mit Java

Enterprise-Anwendungen mit Java, ohne Ballast und voll auf der Höhe der Zeit? Willkommen in der Welt von Spring und Spring Boot! Hier gehören Test Driven Development, Cloud-Native, Microservices und Continuous Integration zum Alltagsvokabular.

Dieses umfassende Handbuch zeigt Ihnen, 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, viele Praxistipps und klärt über mögliche Stolperfallen auf.

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.

Das Buch als Tutorial
Wenn Sie möchten, lesen und lernen Sie im Hands-on-Modus: Setzen Sie Ihr erstes Projekt nach Anleitung auf und programmieren Sie direkt mit. Das durchgehende Anwendungsbeispiel hat sich schon in vielen Schulungen bewährt. Wichtige Konzepte wie Dependency Injection oder das Eventmodell werden von Anfang an praxisnah eingeführt.

Vom Newbie zum Kenner
Brauchen Sie mehr Know-how zum Caching, zur Datenzugriffsschicht oder zum Deployment? Steigen Sie direkt dort ein. Für Fortgeschrittene sind die Kapitel gut separat nutzbar und bieten viele Profi-Tipps, Praxisbeispiele sowie Hinweise auf mögliche Stolperfallen. Damit kommen Sie sicher ans Ziel!

Die ganze Bandbreite
Tauchen Sie tief ein und lernen Sie das Framework von allen Seiten kennen. Spring und Spring Boot binden Sie weder an die Cloud noch an bestimmte Architekturen – und auch dieses Buch nicht. Als Begleiter durch verschiedenste Projekte hilft es Ihnen, sich wertvolle Expertise aufzubauen.

Aus dem Inhalt:
Das erste Projekt aufsetzen
Spring Core Container
Testgetriebene Entwicklung mit Spring Boot
Caching
Dependency Injection
Java Persistency Query Language
Spring Data
RESTful Webservices
Monitoring
Logging
Deployment

Christian Ullenboom, Dipl.-Informatiker, ist zertifizierter Java-Programmierer und seit 1997 Trainer und Berater für Java-Technologien und objektorientierte Analyse und Design. Seit Jahren teilt er sein Wissen mit unzähligen Besuchern seiner Website, wo er Fragen beantwortet, Inhalte bereitstellt und diskutiert. Seine Sympathie gilt Java Performance Tuning und den sinnlichen Freuden des Lebens.



Vorwort ... 23


1. Einleitung ... 35


1.1 ... Einleitung und ein erstes Spring-Projekt ... 35

1.2 ... Dependencys und Starter eines Spring-Boot-Projekts ... 57

1.3 ... Einstieg in die Konfigurationen und das Logging ... 64



2. Container für Spring-managed Beans ... 69


2.1 ... Spring-Container ... 69

2.2 ... Spring-managed Beans durch Classpath-Scanning aufnehmen ... 78

2.3 ... Am Anfang und Ende ... 92

2.4 ... Interaktive Anwendungen mit der Spring Shell ... 102

2.5 ... Die Verweisspritze ... 108

2.6 ... Konfigurationsklassen und Fabrikmethoden ... 125

2.7 ... Abstraktion und Qualifizierungen ... 143

2.8 ... Lebenszyklus der Beans ... 165

2.9 ... Annotationen aus JSR 330, Dependency Injection for Java * ... 189

2.10 ... Autokonfiguration ... 191

2.11 ... Spring Expression Language (SpEL) ... 206



3. Ausgewählte Module des Spring Frameworks ... 213


3.1 ... Hilfsklassen im Spring Framework ... 213

3.2 ... Externe Konfiguration und das Environment ... 214

3.3 ... Ereignisbehandlung ... 264

3.4 ... Ressourcen-Abstraktion mit Resource ... 279

3.5 ... Typkonvertierung mit ConversionService ... 284

3.6 ... Testgetriebene Entwicklung mit Spring Boot ... 302

3.7 ... Scheibchen testen am Beispiel von JSON * ... 329

3.8 ... Scheduling * ... 340

3.9 ... Typen aus org.springframework.*.[lang|util] ... 345



4. Ausgewählte Proxys ... 353


4.1 ... Proxy-Pattern ... 353

4.2 ... Caching ... 360

4.3 ... Asynchrone Aufrufe ... 379

4.4 ... TaskExecutor * ... 388

4.5 ... Spring und Bean Validation ... 393

4.6 ... Spring Retry * ... 407



5. Relationale Datenbanken anbinden ... 417


5.1 ... Eine H2-Datenbank aufsetzen ... 417

5.2 ... Datenbankzugriffe mit Spring realisieren ... 426

5.3 ... Der Spring Boot Starter JDBC ... 428

5.4 ... JdbcTemplate ... 442

5.5 ... Datentypen zum Mapping auf Ergebnisse ... 448

5.6 ... NamedParameterJdbcTemplate ... 459

5.7 ... Batch-Operationen * ... 465

5.8 ... Es wird groß mit BLOB und CLOB * ... 474

5.9 ... Das Paket org.springframework.jdbc.core.simple * ... 478

5.10 ... Das Paket org.springframework.jdbc.object * ... 480

5.11 ... Transaktionen ... 483



6. Jakarta Persistence mit Spring ... 497


6.1 ... Welt der Objekte und der Datenbanken ... 497

6.2 ... Jakarta Persistence ... 503

6.3 ... Spring Data JPA ... 506

6.4 ... Die Jakarta Persistence Entity-Bean ... 509

6.5 ... Die Jakarta Persistence API ... 517

6.6 ... Die Jakarta Persistence Query Language (JPQL) ... 524

6.7 ... Datenbankfunktionen aufrufen und native SQL-Anfragen senden ... 546

6.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 553

6.9 ... Persistence Context und weitere Transaktionssteuerungen ... 560

6.10 ... Weiterführende OR-Metadaten ... 565

6.11 ... Beziehungen zwischen Entitäten ... 585

6.12 ... FetchType: Lazy und Eager Loading ... 599

6.13 ... Cascading ... 605

6.14 ... Repositorys ... 610



7. Spring Data JPA ... 619


7.1 ... Welche Aufgaben erfüllt Spring Data? ... 619

7.2 ... Spring Data Commons: CrudRepository ... 621

7.3 ... Untertypen von CrudRepository: JpaRepository etc. ... 627

7.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 632

7.5 ... QueryByExampleExecutor * ... 642

7.6 ... Eigene Abfragen mit @Query formulieren ... 650

7.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 661

7.8 ... Derived Query Methods ... 665

7.9 ... Die Criteria API und der JpaSpecificationExecutor ... 672

7.10 ... Alternativen zu JDBC Jakarta Persistence ... 684

7.11 ... Gutes Design mit Repositorys ... 697

7.12 ... Projektionen ... 702

7.13 ... Auditing * ... 709

7.14 ... Incremental Data Migration ... 713

7.15 ... Die Datenzugriffsschicht testen ... 720



8. Spring Data für NoSQL-Datenbanken ... 731


8.1 ... Not only SQL ... 731

8.2 ... MongoDB ... 732

8.3 ... Elasticsearch ... 745



9. Spring Web ... 759


9.1 ... Webserver ... 759

9.2 ... Dynamische Inhalte generieren ... 766

9.3 ... Spring Web MVC ... 771

9.4 ... Hot Code Swapping ... 777

9.5 ... Das Hypertext Transfer Protocol (HTTP) ... 779

9.6 ... Request Matching ... 781

9.7 ... Response senden ... 784

9.8 ... Request auswerten ... 794

9.9 ... Typkonvertierung der Parameter ... 806

9.10 ... Ausnahmebehandlung und Fehlermeldung ... 816

9.11 ... RESTful API ... 830

9.12 ... Asynchrone Web-Requests * ... 848

9.13 ... Spring Data Web Support ... 852

9.14 ... Dokumentation einer RESTful API mit OpenAPI ... 856

9.15 ... Testen der Webschicht ... 865

9.16 ... Best Practices bei der Nutzung einer RESTful API ... 872

9.17 ... Webanwendungen mit Spring Security absichern ... 878

9.18 ... RESTful Webservices konsumieren ... 907



10. Logging und Monitoring ... 921


10.1 ... Logging ... 921

10.2 ... Logging-Implementierung ... 922

10.3 ... Anwendungen mit Spring Boot Actuator überwachen ... 928

10.4 ... Micrometer und Prometheus ... 937



11. Build und Deployment ... 945


11.1 ... Spring-Boot-Programme verpacken und ausführen ... 945

11.2 ... Spring-Anwendungen im OCI-Container ... 948



Anhang ... 961


A ... Migration von Spring Boot 2 auf Spring Boot 3 ... 961



Index ... 967

»Der Bestsellerautor und Java-Champion Christian Ullenboom hat ein sehr umfangreiches Werk geschrieben, dass sich um Enterprise-Anwendungen mit Java ohne Ballast und auf der Höhe der Zeit dreht. Im Buch fallen Begriffe wie Test Driven Development, Cloud-native und Continuous Integration. Man erfährt alles, was zum Spring Framework 6 wichtig ist. Dabei spielt es keine Rolle, ob für die Cloud oder On Premises entwickelt werden soll, welche Architektur verwendet wird und wie groß die Projekte sind. Das Buch für die professionelle und moderne Softwareentwicklung eignet sich sehr gut zum Lernen und Nachschlagen und bietet eine Einführung, Praxistipps sowie Design und Patterns. Themen im Buch sind auch Managed Beans, Datenzugriffsschicht, RESTful Services und mehr.« Ahadesign.eu 202303

»Der Bestsellerautor und Java-Champion Christian Ullenboom hat ein sehr umfangreiches Werk geschrieben, dass sich um Enterprise-Anwendungen mit Java ohne Ballast und auf der Höhe der Zeit dreht. Im Buch fallen Begriffe wie Test Driven Development, Cloud-native und Continuous Integration. Man erfährt alles, was zum Spring Framework 6 wichtig ist. Dabei spielt es keine Rolle, ob für die Cloud oder On Premises entwickelt werden soll, welche Architektur verwendet wird und wie groß die Projekte sind. Das Buch für die professionelle und moderne Softwareentwicklung eignet sich sehr gut zum Lernen und Nachschlagen und bietet eine Einführung, Praxistipps sowie Design und Patterns. Themen im Buch sind auch Managed Beans, Datenzugriffsschicht, RESTful Services und mehr.«

Erscheinungsdatum
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Web / Internet
Schlagworte Cloud-native Anwendungen • Datenzugriffsschicht • Dependency Injection • Eventmodell • Hand-Buch Bücher lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Anleitung Training • Java • Managed Beans • Microservices • On Prem • On Premises • RESTful Services • Softwareentwicklung • Spring Boot
ISBN-10 3-8362-9049-9 / 3836290499
ISBN-13 978-3-8362-9049-4 / 9783836290494
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich