URI vs. URL
Ein URI identifiziert eine Ressource eindeutig, während ein URL zusätzlich den Ort und den Zugriffspfad zur Ressource spezifiziert. Jeder URL ist ein URI, aber nicht jeder URI ist ein URL
Was muss man nicht programmieren, wenn man die Annotation
@UpdateTimestamp und
@CreationTimestamp nutzt?
@CreationTimestamp setzt automatisch den Zeitstempel beim Erstellen einer Entität
@UpdateTimestamp den Zeitstempel bei jeder Aktualisierung der Entität automatisch.
Dadurch entfällt die Notwendigkeit, diese Zeitstempel manuell zu setzen.
Wozu dienen Annotationen?
Annotationen fügen Code zusätzliche Informationen hinzu, die von Tools für Konfiguration und Automatisierung verwendet werden.
Hibernate
ORM-Framework für Java
(Objektrelationales Mapping)
Was ist der Hibernate Validator?
Der Hibernate Validator überprüft, ob die Daten in Java-Klassen den festgelegten Validierungsregeln entsprechen.
@Pattern, @NotNull, @Validated
Unterschied zwischen Jakarta Persistence und Hibernate
Jakarta Persistence ist eine Spezifikation, die Standards für ORM definiert, während Hibernate eine konkrete Implementierung dieser Spezifikation ist.
Was bedeutet die Annotation @Valid?
signalisiert dem Hibernate Validator, dass das Objekt vor dem Funktionsaufruf Validiert werden soll.
Was bedeutet die Annotation @Validated?
Geben an, dass in der Klasse Methoden sein können, die überprüft werden müssen.
Spring
Framework zur einfachen Entwicklung von Java Webanwendungen.
Erläutern Sie, was durch den Produktnamen Spring Boot ausgedrückt werden soll
Es geht darum etwas zu starten. Bei uns ein Server der mit dem Spring-Framework betrieben wird.
Erkläre Convention over Configuration
Ein System nutzt Standardvorgaben, um die Notwendigkeit manueller Konfiguration zu minimieren. Entwickler müssen sich nur an diese Vorgaben halten, anstatt alles selbst einzustellen.
Bsp. Für Server-Funktionalität ist die automatische Abbildung von Objekten auf JSON oder die Validierung.
HATEOAS
Architekturprinzip für selbsterklärende URIs im Response-Body (Atom-Links).
Ermöglicht dem Client, durch das System zu navigieren, indem er von den bereitgestellten Links auf weitere verfügbare Aktionen zugreift.
Schichten der 3-Schichten Architektur
Was bedeutet die Validierung in der Präsentationsschicht und Anwendungsschicht?
Präsentationsschicht: überprüft Benutzereingaben auf Korrektheit und Format.
Anwendungsschicht: prüft ob Daten die Geschäftsregeln und -logik erfüllen bevor sie verarbeitet/gespeichert werden.
Warum wird beim Anlegen und Verändern nicht in der Präsentationsschicht, sondern richtigerweise in der Anwendungsschicht validiert?
Da einige Daten nur mithilfe von Daten des Servers validiert werden können, z.B. ob eine E-Mail bereits genutzt wurde.
Wo haben wir Flyway in unserem Projekt genutzt?
In unserem Projekt verwendet Flyway beim Hochfahren des Servers, um alle DB-Objekte im Schema zu löschen und unsere SQL-Skripte zum Anlegen und Befüllen unserer Tabellen auszuführen.
Was ist eine Singleton?
Eine Singleton ist ein Entwurfsmuster, das garantiert, dass von einer Klasse maximal ein Objekt gleichzeitig existiert.
Bsp: @Service weist Spring an, dass die Klasse als Bean verwaltet werden soll (Singleton-Bean)