ALGO25 / BLOG

Parcurs Java și Spring Boot: învață pas cu pas

Învață Java și Spring Boot într-un parcurs ordonat: fundamente, obiecte, colecții, API REST, validare, JPA și teste, cu verificări pentru interviuri.

Acest parcurs te conduce de la primul program Java la un API Spring Boot cu validare, acces la date și teste. Articolele sunt ordonate după ce ai nevoie să înțelegi înainte de pasul următor. Pregătirea pentru interviu apare ca verificare a competențelor construite pe traseu.

Cum începi

Dacă nu ai scris Java, începe cu primul modul. Dacă ai experiență, rezolvă verificările modulului înainte să îl sari. Nu folosim vechimea ca substitut pentru cunoștințe și nu promitem că un singur proiect acoperă toate cerințele unui rol.

Exemplele folosesc Java 21, iar proiectul Spring fixează Boot 4.1.1. Ai nevoie de un editor, un JDK și un terminal. În lecțiile Spring folosești Maven Wrapper și prima descărcare cere acces la internet. Poți lucra local, fără un cont cloud sau o bază de date plătită.

La fiecare pas urmează aceeași disciplină: citește contractul, prezice un rezultat, rulează exemplul și schimbă o singură condiție. Notează ce nu poți explica. Dacă un exemplu funcționează numai când îl copiezi exact, revino la conceptul pe care încă nu îl controlezi.

Modulul 1: bazele Java

  1. Primul program: JDK, compilare și argumente. La final poți porni un program fără ajutorul IDE-ului și distingi sursa de clasa compilată.
  2. Tipuri, condiții, bucle și metode. Înveți să urmărești datele și să verifici o metodă pe input gol și la limite.
  3. Clase, interfețe și încapsulare. Modelezi o sarcină și îi furnizezi un colaborator prin constructor.
  4. Excepții, generice și liste. Alegi ce date accepți și ce faci când un argument este invalid.

Criteriul de trecere este practic: scrie o funcție mică, descrie intrarea și ieșirea, apoi testează o valoare normală și două cazuri limită. Trebuie să poți explica și un mesaj de eroare fără să înlocuiești la întâmplare bucăți din cod.

Modulul 2: colecții și contracte

  1. Verificare junior: egalitate și colecții. Alegi între listă și set și explici relația dintre equals și hashCode.
  2. Verificare mid: colecții și streamuri. Construiești o agregare cu ordine explicită și compari streamul cu o buclă.

Înainte de Spring, trebuie să poți descrie cine deține datele și cine le poate modifica. Nu folosi un framework ca să ocolești întrebări despre tipuri, duplicate sau excepții. Aceste concepte vor reapărea în fiecare cerere HTTP.

Modulul 3: construiește API-ul Spring Boot

  1. Primul proiect și injecția de dependențe. Pornești aplicația și urmărești o cerere către un controller și un serviciu.
  2. API REST: controller, serviciu și DTO. Creezi și citești sarcini într-o implementare în memorie.
  3. Validare și erori HTTP. Respingi cererile invalide și separi statusul 400 de 404.
  4. JPA, repository și tranzacții. Înlocuiești stocarea, păstrând contractul endpointurilor.
  5. Teste automate pentru API. Verifici atât răspunsurile, cât și starea datelor după cereri respinse.
  6. Configurare, profile și Actuator. Schimbi portul fără recompilare și verifici sănătatea fără expunerea configurației interne.

Aceste șase articole folosesc același proiect. Fiecare spune ce fișiere se adaugă sau se înlocuiesc. La sfârșit ai un API local care poate crea și citi sarcini, cu exemple reproductibile și teste. Datele H2 sunt temporare, iar autentificarea nu este implementată; acestea sunt limite explicite ale proiectului de bază.

Modulul 4: gândește comportamentul sistemului

  1. Verificare senior: concurență și limite. Separi timeoutul de anulare și numărul firelor de capacitatea unei dependențe.
  2. Verificare arhitect: consistență și evenimente. Proiectezi un flux cu tranzacție, idempotență și tratarea eșecurilor intermediare.

Ultimele două articole sunt puncte de intrare pentru subiectele avansate. Un parcurs complet pentru senior sau arhitect va cere și aprofundări despre SQL, JVM, securitate, mesagerie, operare și proiecte mai mari. Nu echivalăm parcurgerea a două articole cu atingerea automată a unui nivel profesional.

Exersează

Proiectul de verificare este un API de sarcini pe care îl poți reconstrui urmărind pașii 7-12. Demonstrează o creare validă, citirea prin Location, o cerere invalidă fără scriere și un ID inexistent. Apoi schimbă limita titlului și actualizează testele potrivit noii cerințe.

Ca extensie, propune finalizarea unei sarcini, paginare și o regulă de acces per utilizator. Scrie întâi contractul și testele așteptate. Nu copia un endpoint nou înainte să stabilești ce este permis și ce se întâmplă la repetarea cererii.

Autoevaluare

La finalul fiecărui modul, explică unui coleg o decizie și un caz de eșec. Păstrează separat ce ai citit, ce ai rulat și ce poți reconstrui fără model. Aceste trei niveluri de familiaritate nu sunt identice.

Întrebări frecvente

Este un parcurs pentru învățare sau doar întrebări de interviu?

Este un parcurs de învățare. Lecțiile construiesc fundamente și un proiect comun; articolele de interviu verifică ce poți explica după ele.

Pot începe direct cu Spring Boot?

Dacă poți rezolva verificările Java și înțelegi clase, interfețe, liste și excepții, poți începe modulul Spring. Altfel revino la bază.

Cât durează parcursul?

Depinde de experiență și de timpul acordat exercițiilor. Folosește criteriile de trecere, nu un număr garantat de zile.

Primesc o certificare de senior după ultimul articol?

Nu. Nivelurile indică tipul discuției și al responsabilităților. Experiența practică și cerințele rolului trebuie evaluate separat.

Proiectul este gata de pus pe internet?

Nu în forma didactică. Are stocare temporară și nu include autentificare. Pașii explică aceste limite și ce trebuie proiectat ulterior.

Surse și versiuni

Documentația oficială este legată în fiecare lecție. Puncte de pornire: dev.java și Spring Boot, consultate la 13 octombrie 2026.