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.
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.
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 |
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 …
Find så Spring Web i dependencies under Web, vælg den til
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
Tjek at du har de fire krævede dependencies, og tryk så Create:
Så er vi i gang - klar til at kode vores Rest API:
<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>
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 …
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:
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.