Før du kaster dig ud i dette projekt er det vigtigt at du har styr på brugere og passwords i din MySQL database. Så gennemfør denne guide først.

Vi skal i gang med Spring Boot

I stedet for at snakke en masse teori - for der er virkelig meget - kaster vi os bare ud i det, og prøver at lave et lille REST-API med person-objekter.

Du skal ikke genbruge kode fra tidligere projekter, og det vil nok være en ulempe at copy-paste for meget fra ikke-Spring-boot kode - så start på en frisk.

1. Opret et nyt Spring Boot Projekt

Start IntelliJ, og gør klart til et nyt projekt - men vælg nogle andre indstillinger.

Først og fremmest - vælg Spring Initializr ude til venstre.

Untitled

Name: person-exercise - det er bare navnet på vores lille demo-projekt
Location: - det bestemmer du selv
Create Git repository: slået til - vi kan lige så godt gøre det ordentligt
Language: Java - ikke noget nyt her
Type: Maven meget vigtigt!
Group: kea.exercise - den (over-)package vi vil arbejde i
Artifact: person - package navnet på vores projekt
JDK: 21 - det burde virke med den 21 vi har installeret
Java: 17 - men vælg 17 som destination her
Packaging Jar - hvilket filformat det færdige projekt skal gemmes i

Untitled

Tryk Next og fortsæt til næste side - her skal du vælge dependencies, altså de komponenter der skal bruges i projektet.

<aside> 💡 Dependencies i Spring Boot (teknisk set i Maven) kan sammenlignes med NPM packages vi installerer. Ligesom vi npm installer express, mysql2, cors, dotenv, vælger vi også nogle packages her - bare ved at klikke i stedet for at skrive.

</aside>

Start med at vælge den nyeste version af Spring Boot der ikke er et SNAPSHOT

3.2.2 er nok automatisk valgt, og du behøver ikke gøre noget …

3.2.2 er nok automatisk valgt, og du behøver ikke gøre noget …

Find så Spring Web i dependencies under Web, vælg den til

Untitled

Find så SQL afdelingen, og vælg Spring Data JPA, MySQL Driver - og H2 Database. Sidstnævnte er mest relevant for testing - men kan være rar at have hvis der er problemer med adgangen til MySQL

Untitled

Tjek at du har de fire krævede dependencies, og tryk så Create:

Untitled

Så er vi i gang - klar til at kode vores Rest API:

Untitled

<aside> 💡 pom.xml filen der åbnes svarer til vores velkendte package.json - det er den Maven bruger til at holde styr på dependencies og øvrige projekt-opsætninger. Den lærer I meget mere om i Teknologi - så vi lader den bare være 😉

</aside>

2. Udforsk filer og mapper

I projektets fil-træ, kan du se at der er kommet en del flere mapper og filer end der plejer.

Fold mapperne ud og kig dig omkring.

I src er der både en main og en test mappe. main indeholder vores applikation, test indeholder vores unit-tests - det hele er allerede klar til at vi kan udvikle professionelt.

I main er der en java mappe og en resources - i resources kan vi lægge html, css og andre filer der skal leveres eller manipuleres af java-koden.

Hele projektet forventes at køre på en server - altså backend. (seføli)

Prøv at kigge i External Libraries …

Untitled

3. Opret en entity

Vi skal lave et REST-API med person-objekter - så som det allerførste skal vi definere den type objekter vi vil levere. Med andre ord vores modeller - så lav en package til model klasser:

Untitled

Opret en ny klasse, Person, med disse attributter:

private int id;
private String firstName;
private String lastName;
private LocalDate dateOfBirth;

Tilføj også getters og setters - brug IntelliJ’s automatiske generator.