- Spring Framework Überblick
- Leichtgewichtige vs. schwergewichtige Enterprise-Anwendungen
- Anforderungen an ein Enterprise-Framework
- Inversion of Control (IoC) & Dependency Injection (DI)
- Das Spring-Ökosystem
- Spring im Unternehmensumfeld
- Einstieg in die Entwicklung mit Spring
- Spring-Projekt mit Maven oder Gradle aufsetzen
- Integration in Eclipse oder IntelliJ
- ApplicationContext - ein leichtgewichtiger Container
- Life-Cycle einer Spring Bean
- ApplicationContext & Konfiguration
- Java-Konfiguration
- Annotationsbasierte Konfiguration
- XML-Konfiguration
- Spring Expression Language (SpEL)
- Externe Konfiguration & Profile
- Scheduling
- Testentwicklung
- Utilities für Unit Tests
- Integrationstests mit JUnit5 und JUnit4
- Interna des Testframeworks
- Verhalten des Spring Frameworks mit Tests ergründen
- Persistenz und Transaktionen
- Datenbankzugriff mit dem JDBC-Template
- Programmatische und deklarative Transaktionssteuerung
- Funktionsweise der deklarativen Transaktionssteuerung
- Spring Data JPA
- Spring Data Repositories
- Queries
- Projektionen
- Blick hinter die Kulissen: Spring AOP
- Einsatzmöglichkeiten von AOP
- Aspektorientierte Programmierung mit Spring AOP
- Die Spring Advice-Typen
- Spring AOP vs. AspectJ
- Einführung in Spring Boot
- Verwendung des Spring Initializers
- Implementierung und Verwendung eines RESTful Webservice
- Einsatz der Developer Tools
- Monitoring mit Actuator
LernzieleNach dem Seminar verstehen Sie die Funktionsweise und Architektur des Spring Frameworks und können Spring-Projekte eigenständig, strukturiert und sicher umsetzen - von der Konfiguration über Persistenz bis zur Service-Entwicklung.
ZielgruppenDer Workshop richtet sich an Software-Entwicklerinnen und -Entwickler mit guten Java-Kenntnissen. Vorerfahrung mit verteilten Anwendungen auf Basis von JakartaEE oder JEE ist von Vorteil.
Teilnahmevoraussetzungen:
Gute Kenntnisse in Java
Erste Erfahrung mit objektorientierter Programmierung in Enterprise-Umgebungen
Grundlagen in Build-Tools (Maven, Gradle) und IDEs wie IntelliJ oder Eclipse