Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Spring este un cadru Java care folosește un container pentru a crea și gestiona diferitele componente ale unei aplicații. Containerul (numit adesea contextul aplicației Spring) conectează diferitele componente dintr-o aplicație folosind modelul de proiectare de injecție de dependență (DI). DI vă permite să utilizați un obiect dintr-o clasă dependentă, fără a crea o nouă instanță a acestuia în cadrul clasei dependente.

Deci, în loc să permită fiecărei componente să creeze noi instanțe ale celor pe care se bazează, containerul Spring creează și menține o instanță a fiecărei componente pe care le găzduiește. Acest container injectează apoi o instanță a unei componente în toate celelalte componente care au nevoie de ea.

Explorând caracteristicile de bază ale primăverii

Cadrul Spring are aproximativ 20 de module bine organizate care joacă un rol esențial în capacitatea sa de a crea și gestiona aplicații. Pe baza caracteristicilor principale ale acestor module, le puteți grupa în cinci categorii:

instagram viewer

  • Container de miez
  • Acces/Integrare la date
  • Web
  • Programare și instrumentare orientată pe aspecte
  • Test

Recipient de primăvară

Spring folosește un container pentru a crea și gestiona diferite componente (pe care le numește fasole) ale unei aplicații. Containerul este accesibil prin interfața ApplicationContext a Spring, care vă permite să instanțiați, să configurați și să asamblați obiecte (sau fasole). Containerul Spring își poate îndeplini funcția datorită metadatelor de configurare.

Aceste metadate de configurare pot avea mai multe forme diferite, dar forma sa tipică este XML. Pe lângă fasole, containerul Spring constă și dintr-un miez, context și un modul de expresie.

Acces/Integrare la date de primăvară

Aspectul de acces/integrare la date al cadrului Spring constă din mai multe submodule: JDBC, ORM, OXM, JMS și tranzacție. Aceste module lucrează împreună pentru a gestiona orice date pe care le utilizează aplicația dvs.

Spring Web

Caracteristica web a aplicației Spring oferă integrare orientată către web pentru aplicația dvs. Pe lângă integrarea orientată către web, Spring oferă un modul servlet web. Modulul servlet web este responsabil pentru Spring implementare model-view-controller (MVC)..

Programare orientată pe aspecte de primăvară (AOP)

Cadrul AOP al Spring este o altă dintre componentele sale cheie. Deși cadrul AOP nu este crucial pentru funcția containerului Spring, completează containerul fiind o soluție middleware capabilă. Una dintre caracteristicile cheie ale cadrului AOP este că oferă servicii de întreprindere declarative pentru aplicația dvs., și anume gestionarea tranzacțiilor cu declarații.

Managementul declarativ al tranzacțiilor este o abordare de dorit a dezvoltării software, deoarece are un impact minim asupra codului aplicației.

Test de primăvară

Spring acordă o importanță semnificativă testării aplicațiilor. Modulul său de testare acceptă testarea integrării și testarea unitară folosind JUnit sau TestNG.

Crearea unei aplicații Spring

Există mai multe moduri de a crea boilerplate pentru o nouă aplicație Spring. Diferitele abordări includ:

  • Din aplicația web (sau Spring Initializr) de pe site-ul oficial Spring.
  • Crearea manuală a unei structuri de director de proiect și a specificațiilor de construcție.
  • Cu Spring Tool Suite.
  • Din linia de comandă cu interfața de linie de comandă Spring Boot.
  • Cu IDE-ul Eclipse.
  • Cu IDE-ul IntelliJ IDEA.

Cea mai populară abordare este Spring Initializr:

După cum puteți vedea din imaginea de mai sus, veți avea mai multe decizii de luat. Primul este tipul de proiect pe care doriți să-l inițializați. Spring oferă trei opțiuni: Gradle pentru Groovy, Gradle pentru Kotlin sau Maven. Acest exemplu de aplicație va folosi un proiect Maven.

Celelalte opțiuni pe care trebuie să le selectați sunt limba (Java), versiunea Spring Boot pe care doriți să o utilizați și metadatele proiectului. Spring are deja câteva date fictive în cele cinci câmpuri ale sale, care vă vor ajuta să creați un exemplu de aplicație. Cu toate acestea, va trebui să actualizați aceste câmpuri cu date specifice proiectului, deoarece aceste metadate vor descrie aplicația dvs. Spring, inclusiv fasolea Spring și metodele acestora.

Apoi, va trebui să selectați ambalajul în care doriți fișierele dvs. (borcan sau război). Apoi puteți selecta versiunea de Java pe care o aveți pe dispozitiv. Decizia finală pe care va trebui să o luați este tipul de dependențe pe care îl doriți pentru aplicația dvs.

Spring oferă mai multe dependențe pe care le puteți folosi pentru a adăuga proprietăți aplicației dvs. Pentru a adăuga o nouă dependență la aplicația dvs., faceți clic pe butonul de adăugare a dependențe din partea dreaptă a Spring Initializr. Această acțiune va genera următoarea suprapunere pe ecran:

Pentru această aplicație exemplu, singura dependență de care aveți nevoie este Spring Web. Această dependență vă permite să construiți aplicații web folosind arhitectura MVC. După ce ați selectat toate dependențele pe care doriți să le utilizați în aplicația dvs., continuați cu un clic generați. Acest lucru va descărca planul general al proiectului pentru dvs.

Acum aveți un proiect Spring Boot (care este una dintre bibliotecile Spring). Pasul final este să importați proiectul în IDE-ul preferat. Proiectul dumneavoastră de primăvară va avea următoarea structură de proiect:

Aceasta este o structură normală de proiect Maven și există câteva fișiere importante cu care trebuie să vă familiarizați.

  • Pom.xml: Acesta conține datele de configurare a aplicației Spring.
  • OnlineShopaholicsApplication.java: Aceasta este clasa principală Spring Boot, care execută aplicația.
  • OnlineShopaholicsApplicationTest.java: Acesta este un Testul JUnit clasă care asigură că contextul aplicației Spring (sau containerul) se încarcă corect.

Rularea unei aplicații Spring

Clasa de bootstrap a lui Spring, care în acest caz este clasa OnlineShopaholicsApplication, are următorul cod inițial:

pachet com.onlineshopaholics;

importorg.cadru de primăvară.boot.Aplicație de primăvară;
importorg.cadru de primăvară.boot.configurare automată.SpringBootApplication;

@SpringBootApplication
publicclasăOnline ShopaholicsApplication{
publicstaticgolprincipal(Șir[] argumente){
SpringApplication.run (OnlineShopaholicsApplication.clasă, argumente);
}
}

Unul dintre cele mai importante aspecte ale codului de mai sus este @SpringBootApplication adnotare, care este o adnotare compusă care permite aplicației dvs. să acceseze caracteristicile altor trei adnotări:

  • @EnableAutoconfiguration: Această adnotare permite configurarea automată Spring Boot. Aceasta înseamnă că îi spune lui Spring boot să configureze orice componentă despre care crede că aplicația dvs. va trebui să funcționeze.
  • @ComponentScan: Această adnotare vă permite să activați scanarea componentelor. Această caracteristică este importantă, îi permite lui Spring să descopere și să înregistreze automat alte componente adnotate pentru a fi utilizate de contextul aplicației Spring (sau container).
  • @SpringBootConfiguration: Aceasta este o formă specializată a adnotării @Configuration, care vă permite să înregistrați fasole (sau obiecte) în contextul aplicației Spring.

Celălalt aspect important al codului de mai sus este principal() metoda, execută aplicația dvs. Când aplicația se execută acum, pur și simplu pornește serverul. Deci, dacă doriți să adăugați mai multe funcționalități aplicației, va trebui să actualizați codul:

pachet com.onlineshopaholics;

importorg.cadru de primăvară.boot.Aplicație de primăvară;
importorg.cadru de primăvară.boot.configurare automată.SpringBootApplication;
importorg.cadru de primăvară.web.lega.adnotare.GetMapping;
importorg.cadru de primăvară.web.lega.adnotare.RequestParam;
importorg.cadru de primăvară.web.lega.adnotare.RestController;

@SpringBootApplication
@RestController
publicclasăOnline ShopaholicsApplication{
publicstaticgolprincipal(Șir[] argumente){
SpringApplication.run (OnlineShopaholicsApplication.clasă, argumente);
}

@GetMapping("/client")
public Şir Bun venit(@RequestParam (valoare = "Nume", defaultValue = "Client") Şir Nume) {
întoarcereŞir.format("Bine ai venit %s!", Nume);
}
}

Aplicația Spring Boot are acum trei adnotări noi:

  • @RestController: Această adnotare marchează clasa ca controler, astfel încât fiecare metodă din clasa de mai sus (în afară de main()) va returna un obiect de domeniu în loc de o vizualizare.
  • @GetMapping: Această adnotare mapează cererile HTTP GET pe anumite metode de antet. Deci, de fiecare dată când creați o solicitare pentru „/client” în browser, metoda Welcome() va gestiona cererea returnând o valoare șir.
  • @RequestParam: Această adnotare indică faptul că un parametru de metodă ar trebui să fie legat de un parametru de solicitare web.

Cu codul actualizat Spring Online ShopaholicsApplication are acum o pagină de client pe care o puteți vizualiza în browser. Executarea aplicației va porni serverul și va produce rezultate în consolă.

Există o mulțime de informații importante în rezultat. Vă spune că serverul rulează, vă spune cât de mult a durat procesul de inițializare și vă spune pe ce port rulează aplicația (8080, implicit). Prin urmare, dacă navigați la http://localhost: 8080/client veți vedea următoarea ieșire în browser:

Acum vă puteți proiecta vizualizarea aplicației

Un alt fișier important din structura proiectului pe care l-ați putea observa este șabloane pliant. În mod ideal, cel Online ShopaholicsApplication clasa ar trebui să servească drept controler, care se ocupă de solicitările pentru diferite vederi. Prin urmare, într-o aplicație completă, clasa de controler nu ar trebui să conțină textul care se va afișa în vizualizarea solicitării sale.

În schimb, va trebui să creați fișiere șablon folosind HTML și să le plasați în folderul șabloane al aplicației dvs. Spring.