Detaillierter Kursinhalt
Einführung in Spring
- Java-Konfiguration und der Spring-Anwendungskontext
- @Configuration- und @Bean-Annotationen
- @Import: Arbeiten mit mehreren Konfigurationsdateien
- Bean-Scopes definieren
- Spring-Anwendung starten und Beans erhalten
Spring JAVA-Konfiguration: Ein genauerer Blick
- Externe Properties und Property-Sources
- Die Environment Abstraktion
- Bean-Profiles verwenden
- Spring Expression Language (SpEL)
Annotationsbasierte Dependency Injection
- Komponenten-Scan
- Dependency Injection mit @Autowired
- Java-Konfiguration versus Annotationskonfiguration mit @Component: Mischen und Best Practices
- Lebenszyklus-Annotationen: @PostConstruct und @PreDestroy
- Stereotype (@Service, @Repository, etc.) und Meta-Annotationen
Factory-Muster in Spring
- Spring FactoryBeans verwenden
Spring für Fortgeschrittene: Wie funktioniert Spring intern?
- Der Spring Bean-Lebenszyklus
- Der BeanFactoryPostProcessor and BeanPostProcessor
- Spring Bean-Proxys
- Best Practice für Bean-Typen und Bean-Namen
Aspektorientierte Programmierung
- Welche Probleme löst AOP?
- Pointcut-Ausdrücke definieren
- Verschiedene Arten von Advices implementieren
- Anwendungsentwicklung mit AOP
Spring-basierte Anwendung testen
- Spring 5 Integrationstests mit JUnit 5
- Anwendungskontext-Caching und die @DirtiesContext-Annotation
- Profilauswahl mit @ActiveProfiles
- Einfache Testdateneinrichtung mit @Sql
Datenzugriff und JDBC mit Spring
- Integration von Spring in bestehende Datenzugriffstechnologien
- DataAccessException-Hierarchie und @Repository
- Springs JDBCTemplate- und Callback-Interfaces
Datenbanktransaktionen mit Spring
- Transaktionsübersicht
- Transaktionsmanagement mit Spring
- Regeln für Transaktionsweitergabe und Rollback
- Transaktionen und Integrationstests
Einführung in Spring Boot
- Einführung in die Funktionen von Spring Boot
- Mehrwert von Spring Boot
- Erstellen einer einfachen Boot-Anwendung mit der Spring Initializer-Website
- Spring Boot-Abhängigkeiten, Autokonfiguration und Laufzeit
- Abhängigkeitsmanagement mit Spring Boot-Startern
- Funktionsweise der Autokonfiguration
- Configuration properties mit Spring Boot
- Überschreiben von Autokonfiguration
- Verwendung von CommandLineRunner und ApplicationRunner
JPA mit Spring und Spring Data
- Kurzeinführung in ORM mit JPA
- Vorteile der Verwendung von Spring mit JPA
- JPA-Konfiguration in Spring
- Konfiguration von Spring JPA mit Spring Boot
- Dynamische JPA-Repositorys in Spring Data
Spring MVC-Architektur und -Übersicht
- Einführung in Spring MVC und Request-Verarbeitung
- Signaturen von Controller-Methoden
- Verwendung von Annotationen wie @Controller, @RestController, @RequestMapping, @GetMapping usw.
- Konfiguration von Spring MVC mit Spring Boot
- Spring Boot-Paketierungsoptionen, JAR oder WAR
REST mit Spring MVC
- Einführung in den REST-Architekturstil
- Steuerung von HTTP-Antwortcodes mit @ResponseStatus
- Implementierung von REST mit Spring MVC, @RequestBody und @ResponseBody
- HttpMessageConverter von Spring MVC und automatische Content Negotiation
- REST-Clients mit RestTemplate, RestClient und WebClient: Auswahl und Implementierung
Spring Boot-Test Verbesserungen und Abstraktionen
- Übersicht über Spring Boot-Tests
- Integrationstests mit @SpringBootTest
- Web-Slice-Tests mit dem MockMvc-Framework
- Slices zum Testen verschiedener Anwendungsschichten
Spring Security
- Welche Probleme löst Spring Security?
- Authentifizierung konfigurieren
- Autorisierung implementieren durch URL Matching
- Autorisierung auf Java-Methodenebene
- Die Spring Security-Filterkette verstehen
- Spring Security-Tests
Der Resource server in OAuth 2.0
- Konfigurieren und Implementieren einer sicheren Webanwendung mit JSON-Web-Token-basierter Autorisierung
Actuator, Metriken und Health-Indikatoren
- Spring Boot-Actuator-Endpunkte bereitstellen und abfragen
- Benutzerdefinierte Metriken
- Health-Indikatoren
- Benutzerdefinierte Health-Indikatoren erstellen