Programmieren Java 3
In diesem Kurs bauen Sie auf Ihren vorhandenen Grundlagen der objektorientierten Programmiersprache Java auf und vertiefen Ihr Wissen zur Entwicklung moderner Webapplikationen mit dem Java Spring Framework und Spring Boot. Der Schwerpunkt liegt auf dem Einsatz von Java in ausgewählten Verwendungsgebieten der Applikationsprogrammierung. Sie erhalten Einblicke in die Funktionsweise von Client-Server-Architekturen und das Spring-Ökosystem sowie in die Anwendung von SpringBeans und Inversion of Control (IoC). Weitere Themen umfassen die Programmierung mit Servlets und die Erstellung von REST-basierten Webschnittstellen unter Einsatz des MVC-Musters und des Spring Rest-Controllers. Die Nutzung von Thymeleaf für dynamische HTML-Seiten und die Anbindung an relationale Datenbanken mittels JDBC und Spring Data sind ebenfalls Bestandteile des Kurses. Im Rahmen eines Projekts haben Sie die Möglichkeit, das neu erworbene Wissen praxisnah einzusetzen und eine interaktive Webapplikation zu entwickeln, die alle zentralen Komponenten des Spring Framework integriert.
Java Spring Framework / Spring Boot: Einführung in Client-Server-Architekturen und Überblick über das Spring Framework und zugehörige APIs (Application-Context); Vergleich mit Jakarta Enterprise Edition (Java EE)
SpringBeans (Components): Einführung in die Anforderungen und Funktionsweise von SpringBeans, Bean-Annotations und Inversion of Control (IoC) Hollywood Principle
Aspect Oriented Programming (AOP) und Proxy Pattern
Servlets: Grundlagen zu Servlets, deren Lebenszyklus, Session-Handling, Initialisierung und Konfiguration; Implementierung von Servlets mit Spring
REST-Webschnittstellen: Implementierung von REST-basierten Webschnittstellen mit HTTP-Verben, Status-Codes, URI-Strukturen und Nutzung des MVC-Patterns mit Spring Rest-Controllern; Schnittstellendokumentation mit OpenAPI
Webapplikation basierend auf der Thymeleaf-HTML-Template-Engine: Dynamische HTML-Seiten mit Thymeleaf erstellen
Datenbankanbindung mit JDBC und Spring Data: Einführung in relationale Datenbanken und SQL (mit PostgreSQL), Connection-Management und Persistence-Layer; Erstellung und Verwaltung von Java-Entities und Abbildung von Relationen wie One-to-One, One-to-Many und Many-to-Many
Projektarbeit: Anwendung des erworbenen Wissens in einem praxisnahen Projekt zur Entwicklung einer interaktiven Webapplikation
- Sie verstehen die grundlegenden Konzepte von Client-Server-Architekturen und können deren Anwendung in Webapplikationen beschreiben.
- Sie kennen die wichtigsten Komponenten des Spring Frameworks und deren Einsatzmöglichkeiten im Kontext der Applikationsprogrammierung.
- Sie kennen die Funktionsweise von SpringBeans und Inversion of Control (IoC) und verstehen deren Bedeutung für eine flexible Softwarearchitektur.
- Sie sind in der Lage, REST-basierte Webschnittstellen zu erstellen und verstehen das MVC-Pattern sowie die Verwendung von Spring Rest-Controllern.
- Sie können dynamische HTML-Seiten mit Thymeleaf erstellen und diese in Webapplikationen integrieren.
- Sie sind mit den Grundlagen der Datenbankanbindung mittels JDBC und Spring Data vertraut und können diese in Projekten einsetzen.
- Sie setzen das erworbene Wissen in einem praxisorientierten Projekt um und entwickeln eine interaktive Webapplikation mit einer benutzerfreundlichen grafischen Oberfläche.
Für die Übungen wird der Laptop des Studenten vorausgesetzt.
Lehrmittel stehen auf der Lernplattform moodle zur Verfügung
20-50% zusätzlich zum Unterricht
50% Lehrvorträge, 50% Übungen und Fallbeispiele
Das Modul ist erfolgreich abgeschlossen, wenn mind. 75% vom Unterricht besucht ist und die Modulschlussnote mind. 4.0 beträgt. Die Schlussnote wird aus den Noten der Lernzielkontrollen (Erfahrungsnote) und der Note der Modullernzielkontrolle (MLZ), gemäss den Promotionsbestimmungen für Studiengänge der HFU, ermittelt. Wer ein einzelnes Modul erfolgreich abschliesst erhält ein Zertifikat.