Schelet proiect Spring Boot (incepatori)

Incepem in forta! Astazi va voi arata cum sa porniti un proiect Java folosind framework-ul Spring.

Nivel Dificultate: Incepatori

Spring este unul dintre cele mai populare framework-uri folosite impreuna cu Java. De ce?

  • Este suportat de majoritatea providerilor de sisteme Cloud.
  • Ai un proiect functional in mai putin de 10 minute.
  • Este compatibil cu majoritatea librariilor third-party folosite in majoritatea proiectelor (i.e nu intra in conflict cu alte librarii).
  • Ofera suport gratuit si foarte bine structurat.
  • Este integrat in cele doua principale IDE-uri de pe piata pentru programarea Java (IntelliJ si Eclipse / STS).
  • Iti va fi foarte usor sa configurezi modulul de persistenta (Hibernate) prin fisierul de configurare implicit (application.properties).
  • Nu ai nevoie de un server (container) pentru a rula aplicatia local (prin Spring Boot)
  • Daca nu te-am convins inca, citeste mai multe aici.

Asadar am decis ca ne place Spring-ul, super! Sa trecem la treaba.

Sunt doua modalitati de a include Spring-ul ca framework in aplicatiile noastre.

  1. Construim un proiect nou Java -> adaugam suport pentru Maven -> adaugam dependintele specifice Spring-ului manual.
  2. Folosim acest tool online pentru a ne genera o structura de baza si scapam de munca manuala.

Pentru ca nu are absolut niciun sens sa abordam prima varianta acum (pentru ca are sanse mai mari de esec, avand in vedere ca acest articol este indreptat catre incepatori), o vom alege pe cea din urma.

1. Detalii de baza

In prima faza, Spring Initializr ne va intreba ce buildtool si ce limbaj de programare folosim in proiectul nostru. In cazul de fata voi alege Maven si Java.

Apoi ne intreaba ce versiune de Spring Boot vrem sa folosim in structura noastra. Sugestia mea este sa va feriti de versiunile care au cuvantul SNAPSHOT in nume, deoarece acestea pot contine buguri si functionalitati care nu au fost 100% testate.

Mai departe trecem la datele de baza ale proiectului nostru. Observam ca ni se cere o structura specifica:

  • Group – reprezinta un nume unic care sa identifice proiectul (de regula, acest camp este completat cu domeniul detinut de tine, scris invers – i.e: ro.vladbutnaru sau org.apache)
  • Artifact – reprezinta numele modului din proiect pe care il construiesti folosind aceasta structura (i.e: test).

2. Dependinte

Urmatorul pas este cel al adaugarii dependintelor pe care le vei folosi in proiect. Nu-ti bate capul prea mult cu gasirea acestora deoarece acest pas il poti continua adaugand manual in fisierul de proprietati Maven sau Gradle mai tarziu.

Pentru scheletul nostru vom folosi cateva librarii de baza care sa ne permita expunerea unui serviciu web REST si conectarea la o baza de date MySQL. Asadar, vom cauta si alege din lista urmatoarele:

  • Spring Web
  • Spring Data JPA
  • MySQL Driver

In cele din urma vom finaliza acest formular prin butonul verde Generate si vom descarca arhiva zip care contine proiectul nostru.

Screenshot – Campuri completate Spring Initializr

3. Urmatorii pasi

Arhiva descarcata va contine un proiect Maven sau Gradle pe care il putem importa in IDE-ul nostru preferat (IntelliJ sau Eclipse/STS) si sa continuam sa dezvoltam modulul dorit.

Pssst…: Daca vrei sa inveti Java de la 0, sau vrei sa iti aprofundezi cunostintele, am cursul perfect pentru tine – vezi aici

Pentru a putea rula acest proiect folosindu-ne de Spring Boot Starter, va trebui sa adaugam o configurare de executie astfel:

  • Eclipse
    • Click dreapta pe proiectul importat
    • Selecteaza Run As
    • Selecteaza Maven build…
    • In noua fereastra, in campul Goals scrie „spring-boot:run”.
    • Selecteaza Apply & Run
  • IntelliJ
    • Selecteaza Run Configurations
    • Selecteaza Add new
    • Selecteaza din lista Maven
    • Apasa pe butonul cu simbol de „+” verde Add
    • In campul Goals scrie „spring-boot:run”
    • Selecteaza Apply & Run

Concluzie

Dupa cum ai observat, am construit un schelet de proiect Java, folosind Spring Initializr pe care l-am si executat in doar 10 minute. Iti recomand sa creezi 2-3 proiecte pentru a consolida pasii pe care i-ai citit aici, pe blog, si pentru a te obisnui cu acest workflow. Desi nu te vei lovi extraordinar de des de procesul inceperii unui proiect de la 0, iti va fi util sa stii cum sa creezi module noi si cum sa le integrezi cu altele deja existente.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *