You are on page 1of 4

Laborbericht – NVS1 – 5CHIF

Name: David Montani Schnickmann Datum: 22.10.2018


Gruppe: -

HW-Beschreibung: (Labor, Rechnernummer, Platte, ...): Laptop

Ziel: Erstellen der Basic Repositorys und erste Controller

Beschreibung:

1. Erstellen der Interfaces (Repositorys)


Um auf der Datenbank, Datensätze hinzuzufügen, auszulesen, verändern oder löschen zu können
ist es im Backend wichtig dementsprechene Repsositorys zu impementieren.
Ich habe mich dafür entschieden hierfür JpaRepsositorys zu kreieren. Diese haben den Vorteil,
dass sie die wichtigsten Crud Befehle von Hausaus mitbringen und man mit einer guten Query
Lookup Strategy einfach Custom Querys erstellen kann.
So sieht dann, dass Basic User Repository so aus:

Nun erstelle ich für alle Modelklassen ein geignetes Repository:

1
2. Geanueres definieren von Querys
Zusätzlich möchten wir nun spezielle Querys definieren.
Zum Beispiel alle mit mehr als x-Seiten oder die Bücher in geordneter Reihnfolge.
Diese würde dann folgendermaßen aussehen:

3. Erstellen des Home Controller


Wenn ein Benutzer nach dem erfolgreiche einlpggen die Seite unter der URL (/home/{userId}) kommt
er auf seine Startseite. Hier kann er alle seinen derzeitigen Bücher sehen und kann sehen auf welcher
Seite er stehen geblieben ist.
Um dies zu erreichen erstelle ich erst einen Controller, welche sich um den Request auf dieser URL
kümmert.

4. Finden des Users und übergeben an das Template


Als nächstes muss natürlich der Nutzer mit der PathVariable „userID“ gefunden werden und an das
HTML-Model weitergegeben werden.
Hierfür Injecte ich das UserRepository, welche die Methode:
fndById(int id): Optional<User>
implementiert hat.
Bei gefundenem Nutzer übergebe ich den Nutzer als Attribut an das Model.

2
5. Das Template
Im resourcen Ordner erstelle ich, dann ein Template mit dem namen „home.html“. Als HTML-Enginge
verwende ich Thymeleaf. Als Frontend Framework verwende ich Bootstrap.
Das Home.html sieht dann komplett Basic so aus:

3
6. Betrachten des Home Screens
Um den Homescreen von einem Testuser nun im Broswer anzusehen, füge ich in der foundation eine
Komponente hinzu, welche beim initaliseren der Webapplikation, einen Nutzer und ein Buc kreiert.
Dies funktioniert wie folgt:

Nach erfolgreichem Start unt eingebend er URL bekommt man im Broswer fogendes Ergebnis:

7. Next Steps
 Weitere Controller erstellen (Bücher hinzufügen, Goals setzen, Bücher weiterlesen, …)
 Spring Security (Login, Register)
 QueryDsl bei bedarf hinzufügen

You might also like