<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="36160" language="de" source="https://portal.flane.ch/swisscom/xml-course/innovator-sctp" lastchanged="2025-07-29T12:18:45+02:00" parent="https://portal.flane.ch/swisscom/xml-courses"><title>Spring Core Training Plus</title><productcode>SCTP</productcode><vendorcode>IC</vendorcode><vendorname>Innovator Class</vendorname><fullproductcode>IC-SCTP</fullproductcode><version>1.0</version><objective>&lt;p&gt;Am Ende des Kurses sollten Sie das folgende Wissen und die folgenden Fertigkeiten erlangt haben:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Spring-Konfiguration mit Java-Konfiguration und -Annotationen durchf&amp;uuml;hren, Dependency Injection und Properties verstehen und nutzen&lt;/li&gt;&lt;li&gt;Aspektorientierte Programmierung (AOP) mit Spring verstehen und zur Anwendungsentwicklung nutzen&lt;/li&gt;&lt;li&gt;Integration-Testing von Spring-Anwendungen mit JUnit 5&lt;/li&gt;&lt;li&gt;Spring Data Access &amp;ndash; Spring JDBC, JPA und Spring Data nach geeigneten Kriterien ausw&amp;auml;hlen und anwenden&lt;/li&gt;&lt;li&gt;Spring Transaction Management verstehen und nach praktischen Kriterien konfigurieren&lt;/li&gt;&lt;li&gt;Aufsetzen einer Spring Boot Anwendung&lt;/li&gt;&lt;li&gt;Vereinfachungen und Konventionen von Spring Boot kennen und nutzen: Autokonfiguration, Spring Boot Starter, Abh&amp;auml;ngikeiten, Properties verwalten und Build-Prozess&lt;/li&gt;&lt;li&gt;REST-Anwendung mit Spring Boot, eingebettetem Webserver und fat JARs oder klassischen WARs erstellen unter Einhaltung der REST-Prinzipien&lt;/li&gt;&lt;li&gt;Implementierung von REST-Client-Anwendungen mit RestTemplate, RestClient und WebClient, und deren Auswahl nach geeigneten Kriterien&lt;/li&gt;&lt;li&gt;Spring Boot-Erweiterungen f&amp;uuml;r Tests kennen und nutzen&lt;/li&gt;&lt;li&gt;Spring Security: Authentifizierung, Authorisierung, Password Encoding, Datenbankspeicherung von User Credentials, OAuth2 Ressource Server mit JSON Web Token (Jwt) konfigurieren, anpassen, implementieren und testen&lt;/li&gt;&lt;li&gt;Aktivieren, Nutzen und Erweitern von Metriken und &amp;Uuml;berwachungsfunktionen mit Spring Boot Actuator&lt;/li&gt;&lt;/ul&gt;</objective><essentials>&lt;p&gt;Einige Erfahrung als Entwickler mit Java, einer IDE (Eclipse, STS oder IntelliJ) und Build-Tools wie Maven oder Gradle.&lt;/p&gt;</essentials><audience>&lt;p&gt;Anwendungsentwickler, die ihr Verst&amp;auml;ndnis von Spring und Spring Boot mit praktischer Erfahrung und einem Fokus auf die Grundlagen vertiefen m&amp;ouml;chten.&lt;/p&gt;</audience><contents>&lt;ul&gt;
&lt;li&gt;Einf&amp;uuml;hrung in Spring: Prinzipien und Abgrenzung&lt;/li&gt;&lt;li&gt;Spring Java-Konfiguration, Annotation-basierte Konfiguration, Dependency Injection&lt;/li&gt;&lt;li&gt;BeanFactory, Dynamic Proxies, Ressourcen-Abstraktion: Die Grundpfeiler von Spring&lt;/li&gt;&lt;li&gt;Spring f&amp;uuml;r Fortgeschrittene: Wie der Spring Application Context intern funktioniert&lt;/li&gt;&lt;li&gt;Aspektorientierte Programmierung f&amp;uuml;r Anwendungsentwickler&lt;/li&gt;&lt;li&gt;Testen einer Spring-basierten Anwendung&lt;/li&gt;&lt;li&gt;Datenzugriff und JDBC-Abstraktion mit Spring&lt;/li&gt;&lt;li&gt;Datenbanktransaktionen mit Spring&lt;/li&gt;&lt;li&gt;Spring Boot Einf&amp;uuml;hrung&lt;/li&gt;&lt;li&gt;Spring Boot-Abh&amp;auml;ngigkeiten, Autokonfiguration, Properties und Build&lt;/li&gt;&lt;li&gt;JPA mit Spring, SpringBoot und Spring Data&lt;/li&gt;&lt;li&gt;Spring MVC f&amp;uuml;r dynamische Webanwendungen und REST&lt;/li&gt;&lt;li&gt;REST mit Spring MVC: Eine vollst&amp;auml;ndige Backend Anwendung&lt;/li&gt;&lt;li&gt;Spring Boot Testverbesserungen&lt;/li&gt;&lt;li&gt;Spring Security: Authentifizierung, Authorisierung, OAuth2 Ressource Server mit Jwt&lt;/li&gt;&lt;li&gt;Actuator, Metriken und Health indicators&lt;/li&gt;&lt;/ul&gt;</contents><outline>&lt;h5&gt;Einf&amp;uuml;hrung in Spring&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Java-Konfiguration und der Spring-Anwendungskontext&lt;/li&gt;&lt;li&gt;@Configuration- und @Bean-Annotationen&lt;/li&gt;&lt;li&gt;@Import: Arbeiten mit mehreren Konfigurationsdateien&lt;/li&gt;&lt;li&gt;Bean-Scopes definieren&lt;/li&gt;&lt;li&gt;Spring-Anwendung starten und Beans erhalten&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Spring JAVA-Konfiguration: Ein genauerer Blick&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Externe Properties und Property-Sources&lt;/li&gt;&lt;li&gt;Die Environment Abstraktion&lt;/li&gt;&lt;li&gt;Bean-Profiles verwenden&lt;/li&gt;&lt;li&gt;Spring Expression Language (SpEL)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Annotationsbasierte Dependency Injection&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Komponenten-Scan&lt;/li&gt;&lt;li&gt;Dependency Injection mit @Autowired&lt;/li&gt;&lt;li&gt;Java-Konfiguration versus Annotationskonfiguration mit @Component: Mischen und Best Practices&lt;/li&gt;&lt;li&gt;Lebenszyklus-Annotationen: @PostConstruct und @PreDestroy&lt;/li&gt;&lt;li&gt;Stereotype (@Service, @Repository, etc.) und Meta-Annotationen&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Factory-Muster in Spring&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Spring FactoryBeans verwenden&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Spring f&amp;uuml;r Fortgeschrittene: Wie funktioniert Spring intern?&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Der Spring Bean-Lebenszyklus&lt;/li&gt;&lt;li&gt;Der BeanFactoryPostProcessor and BeanPostProcessor&lt;/li&gt;&lt;li&gt;Spring Bean-Proxys&lt;/li&gt;&lt;li&gt;Best Practice f&amp;uuml;r Bean-Typen und Bean-Namen&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Aspektorientierte Programmierung&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Welche Probleme l&amp;ouml;st AOP?&lt;/li&gt;&lt;li&gt;Pointcut-Ausdr&amp;uuml;cke definieren&lt;/li&gt;&lt;li&gt;Verschiedene Arten von Advices implementieren&lt;/li&gt;&lt;li&gt;Anwendungsentwicklung mit AOP&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Spring-basierte Anwendung testen&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Spring 5 Integrationstests mit JUnit 5&lt;/li&gt;&lt;li&gt;Anwendungskontext-Caching und die @DirtiesContext-Annotation&lt;/li&gt;&lt;li&gt;Profilauswahl mit @ActiveProfiles&lt;/li&gt;&lt;li&gt;Einfache Testdateneinrichtung mit @Sql&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Datenzugriff und JDBC mit Spring&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Integration von Spring in bestehende Datenzugriffstechnologien&lt;/li&gt;&lt;li&gt;DataAccessException-Hierarchie und @Repository&lt;/li&gt;&lt;li&gt;Springs JDBCTemplate- und Callback-Interfaces&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Datenbanktransaktionen mit Spring&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Transaktions&amp;uuml;bersicht&lt;/li&gt;&lt;li&gt;Transaktionsmanagement mit Spring&lt;/li&gt;&lt;li&gt;Regeln f&amp;uuml;r Transaktionsweitergabe und Rollback&lt;/li&gt;&lt;li&gt;Transaktionen und Integrationstests&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Einf&amp;uuml;hrung in Spring Boot&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Einf&amp;uuml;hrung in die Funktionen von Spring Boot&lt;/li&gt;&lt;li&gt;Mehrwert von Spring Boot&lt;/li&gt;&lt;li&gt;Erstellen einer einfachen Boot-Anwendung mit der Spring Initializer-Website&lt;/li&gt;&lt;li&gt;Spring Boot-Abh&amp;auml;ngigkeiten, Autokonfiguration und Laufzeit&lt;/li&gt;&lt;li&gt;Abh&amp;auml;ngigkeitsmanagement mit Spring Boot-Startern&lt;/li&gt;&lt;li&gt;Funktionsweise der Autokonfiguration&lt;/li&gt;&lt;li&gt;Configuration properties mit Spring Boot&lt;/li&gt;&lt;li&gt;&amp;Uuml;berschreiben von Autokonfiguration&lt;/li&gt;&lt;li&gt;Verwendung von CommandLineRunner und ApplicationRunner&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;JPA mit Spring und Spring Data&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Kurzeinf&amp;uuml;hrung in ORM mit JPA&lt;/li&gt;&lt;li&gt;Vorteile der Verwendung von Spring mit JPA&lt;/li&gt;&lt;li&gt;JPA-Konfiguration in Spring&lt;/li&gt;&lt;li&gt;Konfiguration von Spring JPA mit Spring Boot&lt;/li&gt;&lt;li&gt;Dynamische JPA-Repositorys in Spring Data&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Spring MVC-Architektur und -&amp;Uuml;bersicht&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Einf&amp;uuml;hrung in Spring MVC und Request-Verarbeitung&lt;/li&gt;&lt;li&gt;Signaturen von Controller-Methoden&lt;/li&gt;&lt;li&gt;Verwendung von Annotationen wie @Controller, @RestController, @RequestMapping, @GetMapping usw.&lt;/li&gt;&lt;li&gt;Konfiguration von Spring MVC mit Spring Boot&lt;/li&gt;&lt;li&gt;Spring Boot-Paketierungsoptionen, JAR oder WAR&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;REST mit Spring MVC&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Einf&amp;uuml;hrung in den REST-Architekturstil&lt;/li&gt;&lt;li&gt;Steuerung von HTTP-Antwortcodes mit @ResponseStatus&lt;/li&gt;&lt;li&gt;Implementierung von REST mit Spring MVC, @RequestBody und @ResponseBody&lt;/li&gt;&lt;li&gt;HttpMessageConverter von Spring MVC und automatische Content Negotiation&lt;/li&gt;&lt;li&gt;REST-Clients mit RestTemplate, RestClient und WebClient: Auswahl und Implementierung&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Spring Boot-Test Verbesserungen und Abstraktionen&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;&amp;Uuml;bersicht &amp;uuml;ber Spring Boot-Tests&lt;/li&gt;&lt;li&gt;Integrationstests mit @SpringBootTest&lt;/li&gt;&lt;li&gt;Web-Slice-Tests mit dem MockMvc-Framework&lt;/li&gt;&lt;li&gt;Slices zum Testen verschiedener Anwendungsschichten&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Spring Security&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Welche Probleme l&amp;ouml;st Spring Security?&lt;/li&gt;&lt;li&gt;Authentifizierung konfigurieren&lt;/li&gt;&lt;li&gt;Autorisierung implementieren durch URL Matching&lt;/li&gt;&lt;li&gt;Autorisierung auf Java-Methodenebene&lt;/li&gt;&lt;li&gt;Die Spring Security-Filterkette verstehen&lt;/li&gt;&lt;li&gt;Spring Security-Tests&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Der Resource server in OAuth 2.0&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Konfigurieren und Implementieren einer sicheren Webanwendung mit JSON-Web-Token-basierter Autorisierung&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Actuator, Metriken und Health-Indikatoren&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Spring Boot-Actuator-Endpunkte bereitstellen und abfragen&lt;/li&gt;&lt;li&gt;Benutzerdefinierte Metriken&lt;/li&gt;&lt;li&gt;Health-Indikatoren&lt;/li&gt;&lt;li&gt;Benutzerdefinierte Health-Indikatoren erstellen&lt;/li&gt;&lt;/ul&gt;</outline><objective_plain>Am Ende des Kurses sollten Sie das folgende Wissen und die folgenden Fertigkeiten erlangt haben:


- Spring-Konfiguration mit Java-Konfiguration und -Annotationen durchführen, Dependency Injection und Properties verstehen und nutzen
- Aspektorientierte Programmierung (AOP) mit Spring verstehen und zur Anwendungsentwicklung nutzen
- Integration-Testing von Spring-Anwendungen mit JUnit 5
- Spring Data Access – Spring JDBC, JPA und Spring Data nach geeigneten Kriterien auswählen und anwenden
- Spring Transaction Management verstehen und nach praktischen Kriterien konfigurieren
- Aufsetzen einer Spring Boot Anwendung
- Vereinfachungen und Konventionen von Spring Boot kennen und nutzen: Autokonfiguration, Spring Boot Starter, Abhängikeiten, Properties verwalten und Build-Prozess
- REST-Anwendung mit Spring Boot, eingebettetem Webserver und fat JARs oder klassischen WARs erstellen unter Einhaltung der REST-Prinzipien
- Implementierung von REST-Client-Anwendungen mit RestTemplate, RestClient und WebClient, und deren Auswahl nach geeigneten Kriterien
- Spring Boot-Erweiterungen für Tests kennen und nutzen
- Spring Security: Authentifizierung, Authorisierung, Password Encoding, Datenbankspeicherung von User Credentials, OAuth2 Ressource Server mit JSON Web Token (Jwt) konfigurieren, anpassen, implementieren und testen
- Aktivieren, Nutzen und Erweitern von Metriken und Überwachungsfunktionen mit Spring Boot Actuator</objective_plain><essentials_plain>Einige Erfahrung als Entwickler mit Java, einer IDE (Eclipse, STS oder IntelliJ) und Build-Tools wie Maven oder Gradle.</essentials_plain><audience_plain>Anwendungsentwickler, die ihr Verständnis von Spring und Spring Boot mit praktischer Erfahrung und einem Fokus auf die Grundlagen vertiefen möchten.</audience_plain><contents_plain>- Einführung in Spring: Prinzipien und Abgrenzung
- Spring Java-Konfiguration, Annotation-basierte Konfiguration, Dependency Injection
- BeanFactory, Dynamic Proxies, Ressourcen-Abstraktion: Die Grundpfeiler von Spring
- Spring für Fortgeschrittene: Wie der Spring Application Context intern funktioniert
- Aspektorientierte Programmierung für Anwendungsentwickler
- Testen einer Spring-basierten Anwendung
- Datenzugriff und JDBC-Abstraktion mit Spring
- Datenbanktransaktionen mit Spring
- Spring Boot Einführung
- Spring Boot-Abhängigkeiten, Autokonfiguration, Properties und Build
- JPA mit Spring, SpringBoot und Spring Data
- Spring MVC für dynamische Webanwendungen und REST
- REST mit Spring MVC: Eine vollständige Backend Anwendung
- Spring Boot Testverbesserungen
- Spring Security: Authentifizierung, Authorisierung, OAuth2 Ressource Server mit Jwt
- Actuator, Metriken und Health indicators</contents_plain><outline_plain>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</outline_plain><duration unit="d" days="4">4 Tage</duration><pricelist><price country="DE" currency="EUR">3250.00</price><price country="AT" currency="EUR">3250.00</price><price country="SE" currency="EUR">3250.00</price><price country="SI" currency="EUR">3250.00</price><price country="CH" currency="CHF">3250.00</price></pricelist><miles/></course>