htw saar Piktogramm QR-encoded URL
Zurück zur Hauptseite Version des Moduls auswählen:
Lernziele hervorheben XML-Code



Softwareentwicklung mit Spring

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
Softwareentwicklung mit Spring
Studiengang:
Studiengang mit Beginn der Gültigkeit der betreffenden ASPO-Anlage/Studienordnung des Studiengangs, in dem dieses Modul zum Studienprogramm gehört (=Start der ersten Erstsemester-Kohorte, die nach dieser Ordnung studiert).
Praktische Informatik, Bachelor, ASPO 01.10.2022
Code: PIB-SES
SWS/Lehrform:
Die Anzahl der Semesterwochenstunden (SWS) wird als Zusammensetzung von Vorlesungsstunden (V), Übungsstunden (U), Praktikumsstunden (P) oder Projektarbeitsstunden (PA) angegeben. Beispielsweise besteht eine Veranstaltung der Form 2V+2U aus 2 Vorlesungsstunden und 2 Übungsstunden pro Woche.
2V+2PA (4 Semesterwochenstunden)
ECTS-Punkte:
Die Anzahl der Punkte nach ECTS (Leistungspunkte, Kreditpunkte), die dem Studierenden bei erfolgreicher Ableistung des Moduls gutgeschrieben werden. Die ECTS-Punkte entscheiden über die Gewichtung des Fachs bei der Berechnung der Durchschnittsnote im Abschlusszeugnis. Jedem ECTS-Punkt entsprechen 30 studentische Arbeitsstunden (Anwesenheit, Vor- und Nachbereitung, Prüfungsvorbereitung, ggfs. Zeit zur Bearbeitung eines Projekts), verteilt über die gesamte Zeit des Semesters (26 Wochen).
5
Studiensemester: 5
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
Projektarbeit

[letzte Änderung 10.10.2024]
Verwendbarkeit / Zuordnung zum Curriculum:
Alle Studienprogramme, die das Modul enthalten mit Jahresangabe der entsprechenden Studienordnung / ASPO-Anlage.

KIB-SES Kommunikationsinformatik, Bachelor, ASPO 01.10.2021 , 5. Semester, Wahlpflichtfach
PIB-SES Praktische Informatik, Bachelor, ASPO 01.10.2022 , 5. Semester, Wahlpflichtfach
Arbeitsaufwand:
Der Arbeitsaufwand des Studierenden, der für das erfolgreiche Absolvieren eines Moduls notwendig ist, ergibt sich aus den ECTS-Punkten. Jeder ECTS-Punkt steht in der Regel für 30 Arbeitsstunden. Die Arbeitsstunden umfassen Präsenzzeit (in den Vorlesungswochen), Vor- und Nachbereitung der Vorlesung, ggfs. Abfassung einer Projektarbeit und die Vorbereitung auf die Prüfung.

Die ECTS beziehen sich auf die gesamte formale Semesterdauer (01.04.-30.09. im Sommersemester, 01.10.-31.03. im Wintersemester).
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
Empfohlene Voraussetzungen (Module):
PIB-PR1 Programmierung 1
PIB-PR2 Programmierung 2
PIB-PR3 Programmierung 3


[letzte Änderung 11.10.2024]
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Prof. Dr. Markus Esch
Dozent/innen:
Dipl.-Inf. Christopher Olbertz


[letzte Änderung 11.10.2024]
Lernziele:
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage ...
- die grundlegenden Konzepte des Spring-Frameworks zu erklären.
- das Spring Core Framework und SpringBoot anzuwenden.
- Web-Anwendungen, Web-Services und Desktop-Anwendungen mit Spring und SpringBoot zu entwickeln.

[letzte Änderung 11.10.2024]
Inhalt:
Die Veranstaltung führt zunächst in die grundlegenden Konzepte des Spring-Frameworks ein. Darauf aufbauend wird SpringBoot als moderne Vereinfachung eingeführt und im weiteren Verlauf des Kurses die Kombination aus Spring-Core und SpringBoot verwendet. Im Laufe des Kurses wird eine kleine Beispielanwendung entwickelt, die auch in den realen Betrieb übernommen werden soll.
 
1. Einführung:
- Was ist Spring?
- Einführung der Basiskonzepte
- Aufbau eines Spring-Projekts
 
2. Kernkonzepte von Spring
- Inversion of Control
- Dependency Injection
- Deklaration von Spring-Beans
- Konfiguration von Spring Beans
- Annotationsbasierte Konfiguration
- Javabasierte Konfiguration
 
3. Aspektorientierte Programmierung (AOP)
- Was ist AOP?
- Grundbegriffe der AOP
- AOP mit Spring
- Vor- und Nachteile von AOP
 
4. SpringBoot
- Was ist SpringBoot?
- Aufbau eines SpringBoot-Projekts
- Vorteile von SpringBoot
- Einfache Terminalanwendungen mit SpringBoot
 
5. Weiterführende Spring-Funktionen
- Verwendungen von benutzerdefinierten Konfigurationen
- Ereignisbehandlung
- Ressourcen-Abstraktion
- Typkonvertierungen mit ConversionService
- Verwendung von JSON
- Scheduling
 
6. Anbindung relationaler Datenbanken
- Wiederholung Java Peristence API (JPA)
- JdbcTemplate
- Verwendung des JPARepository-Interface
- Formulierung von Standard-Abfragen
- Formulierung von benutzerdefinierten Abfragen
- Best Practices
 
7. Testgetriebene Entwicklung mit Spring
- Einführung Testgetriebene Entwicklung
- Spring-spezifische Elemente zum Testen
- Mocking-Framework Mockito
- Kombination von Spring und Mockito
- Testen der Datenzugriffsschicht
 
8. JavaFX und SpringBoot
- Vorteile der Kombinatioin JavaFX und SpringBoot
- Wiederholung JavaFX
- Realisierung mit FxWeaver
 
9. Webanwendungen mit SpringBoot
- SpringMVC
- Templating-Framework Thymeleaf
- RESTful API
- Auswerten von Anfragen
- Generierung von dynamischen Inhalten
- Webanwendungen mit SpringSecurity absichern
- Ausnahmebehandlung und Fehlermeldungen
- Asynchrone Anfragen
- Best Practices
- Testen der Webschicht
- Dokumentation einer RESTful API mit OpenAPI

[letzte Änderung 11.10.2024]
Literatur:
Christian Ullenboom : "Spring Boot 3 und Spring Framework 6 - Das umfassende Handbuch", Rheinwerk Computing

[letzte Änderung 11.10.2024]
[Thu Nov 21 10:16:24 CET 2024, CKEY=psms, BKEY=pi2, CID=PIB-SES, LANGUAGE=de, DATE=21.11.2024]