Adnotări de bază Spring Boot pe care toată lumea ar trebui să le știe
Publicat: 2021-12-13Java Spring Framework este un cadru open-source și la nivel de întreprindere, folosit pentru a crea aplicații independente de nivel de producție care rulează pe Java Virtual Machine (JVM). În acest scop, Java Spring Boot este un instrument care simplifică și accelerează dezvoltarea aplicațiilor web și a microserviciilor cu Spring Framework. Pentru aceasta, Java Spring Boot folosește trei capabilități de bază – autoconfigurare, o abordare cu părere de spirit a configurației și potențialul de a crea aplicații independente. Combinarea acestor caracteristici de bază oferă un instrument care permite dezvoltatorilor să configureze aplicații bazate pe Spring cu configurații minime.
Înainte de adnotări, comportamentul Spring Framework era în mare parte controlat de configurație XML. Cu toate acestea, adnotările Spring Boot au modificat dramatic modul în care puteți configura comportamentele Spring Framework.
În acest articol, vom parcurge câteva dintre adnotările de bază din cadrul Spring Framework.
Cuprins
Ce sunt adnotările Spring Boot?
Adnotările Spring Boot sunt o formă de metadate. Ele nu fac parte din aplicația în curs de dezvoltare în sine, dar oferă date suplimentare despre un program. Adnotările nu au impact direct asupra funcționării codului pe care îl adnotă și nici nu modifică acțiunea programului compilat.
Aplicațiile de primăvară necesită un grad semnificativ de configurare. Spring Boot este un cadru cu opinie care se bazează pe Spring Framework. Minimizează eforturile de configurare și standardele necesare pentru a începe. Adnotările Spring Boot sunt cheia pentru a câștiga controlul asupra Spring Framework, pentru a direcționa cadrul și pentru a-i înlocui implicite atunci când este necesar. Aceste adnotări sunt ușor de utilizat și mai rapide decât construirea de la zero a funcționalităților echivalente.
Adnotări Spring Boot pe care toată lumea ar trebui să le știe
Deși Spring Boot funcționează cu Java, Groovy și Kotlin, ne vom concentra pe Java în timp ce discutăm despre adnotările Spring Boot importante.
1. @Configurare
@Configuration este folosit în clasele care definesc fasole. Un analog al fișierului de configurare XML este o adnotare la nivel de clasă folosită ca sursă de definiții ale fasolei. O clasă Java adnotată @Configuration este o configurație în sine și are metode de configurare și instanțiere a dependențelor.
Exemplu:
@Configurare
Autobuz de clasă publică
{
motor @BeanBus()
{
returnează autobuzul nou ();
}
}
2. @Bean
O alternativă la eticheta XML <bean>, adnotarea @Bean este utilizată la nivel de metodă pentru a indica faptul că o metodă produce un bean care trebuie gestionat de containerul Spring. Această adnotare funcționează împreună cu @Configuration pentru a crea fasole Spring. @Configuration are metode de configurare și instanțiere a dependențelor, iar astfel de metode sunt adnotate de @Bean.
Exemplu:
@Fasole
Public BeanExample beanExample ()
{
returnează nou BeanExample (),
}
3. @ComponentScan
Adnotarea @ComponentScan este folosită pentru a scana un pachet de fasole. Este folosit împreună cu adnotarea @Configuration pentru a anunța Spring pachetele care trebuie scanate pentru componente adnotate.
Exemplu:
@ComponentScan(basePackages = „com.xyz”)
@Configurare
Clasa publică ScanComponent
{
//…
}
4. @Componentă
Adnotarea @Component este folosită pe clase pentru a desemna o componentă Spring. Este o adnotare la nivel de clasă care convertește clasa în Spring bean în timpul scanării automate.
Exemplu:
@Component
Profesori de clasă publică
{
……
}
5. @EnableAutoConfiguration
Adnotarea @EnableAutoConfiguration este de obicei plasată pe clasa principală a aplicației și definește implicit un pachet de căutare de bază. Pe baza setărilor classpath, a diferitelor setări de proprietate și a altor beans, @EnableAutoConfiguration direcționează Spring Boot să înceapă să adauge beans.
6. @SpringBootApplication
Adnotarea @SpringBootApplication adaugă trei adnotări – @Configuration, @EnableAutoConfiguration și @ComponentScan. Este folosit pe clasa aplicației în timpul instalării proiectului Spring Boot, iar clasa adnotată cu @SpringBootApplication este plasată în pachetul de bază. @SpringBootApplication scanează componentele, dar numai sub-pachetele.
7. @Repository
Adnotarea @Repository este utilizată pe clasele Java care accesează direct baza de date. Funcționează ca un marker pentru clasele care îndeplinesc rolul de Data Access Object sau depozit.
Exemplu:
@Repertoriu
TestRepository de clasă publică
{
public void delete()
{
// cod de persistență
}
}
8. @Serviciul
Este o adnotare la nivel de clasă care marchează o clasă Java care realizează un serviciu, cum ar fi executarea logicii de afaceri, efectuarea de calcule sau apelarea API-urilor externe. O adnotare @Service este o formă specială a adnotării @Component pentru utilizare în stratul de servicii.
Exemplu:
@Serviciu
TestService de clasă publică
{
serviciu public nul1()
{
// codul afacerii
}
}
9. @Cablat automat
Această adnotare injectează implicit dependență de obiect și este aplicată pe câmpuri, constructori și metode de setare. Când @Autowired este utilizat pe câmpuri, iar valorile pentru câmpuri sunt transmise folosind numele proprietății, Spring atribuie automat câmpurile cu valorile transmise.
10. @Controller
Adnotarea @Controller este utilizată pe clasele Java care servesc ca controler într-o aplicație. Permite auto-detecția claselor de componente în classpath și, de asemenea, auto-registre ale definițiilor bean-ului pentru acestea. Adnotarea @Controller este utilizată de obicei cu @RequestMapping, iar clasele Java adnotate cu @Controller pot gestiona mai multe mapări de solicitări.
Exemplu:
@Controlor
@RequestMapping(„mașini”)
CarsController de clasă publică
{
@RequestMapping(valoare= „/{nume}”, metoda= RequestMethod.GET)
angajat public getCarsByName()
{
Returnare mașini șablon;
}
}
11. @RequestMapping
Adnotarea @RequestMapping este utilizată atât la nivel de metodă, cât și la nivel de clasă. Acesta servește la maparea cererilor web pe metode și clase de handler specificate. Când @RequestMapping este utilizat pe metode, acesta oferă adresa URL pe care va avea loc executarea metodelor de gestionare. Dimpotrivă, atunci când adnotarea este folosită la nivel de clase, se creează un URL de bază pentru care va fi folosit controlerul. Prin urmare, fiecare metodă de gestionare va avea maparea cererii respective, în timp ce maparea solicitărilor la nivel de clasă rămâne aceeași.
Exemplu:
@Controlor
FlowersController de clasă publică
{
@RequestMapping („/roșu-culoare/flori”)
public String getAllFlowers (model de model)
{
//codul aplicației
returnează „listă de flori”;
}
12. @Calificator
@Qualifier este utilizat împreună cu @Autowired atunci când este nevoie de mai mult control asupra procesului de injectare a dependenței. Adnotarea @Qualifier poate fi specificată fie pe parametrii metodei, fie pe argumente individuale ale constructorului. Confuziile apar de obicei atunci când dezvoltatorul creează mai mult de un bean de același tip, dar numai unul dintre ele trebuie să fie conectat cu o proprietate. Adnotarea @Qualifier este utilă pentru a elimina aceste confuzii.
Exemplu:
@Component
clasa publică BeanB1 implementează BeanInterface {
//
}
@Component
clasa publică BeanB2 implementează BeanInterface {
//
}
În exemplul de mai sus, BeanInterface este implementat de cei doi beans BeanB1 și BeanB2. Acum, dacă BeanA conectează automat această interfață, Spring nu ar ști care dintre cele două implementări ar trebui să injecteze. Puteți rezolva această problemă folosind adnotarea @Qualifier. Odată cu această adnotare, Spring va ști pe care dintre boabele să fie conectat automat.
@Component
clasă publică BeanA {
@Cablat automat
@Qualifier(„beanB2”)
dependență privată de BeanInterface;
…
}
13. @Valoare
Adnotarea @Value este utilizată la niveluri de câmp, parametru de metodă și parametru de constructor. Indică o expresie de valoare implicită pentru parametrul sau câmpul cu care să inițializeze proprietatea.
14. @Leneș
Adnotarea @Lazy este aplicată claselor componente. La pornire, toate dependențele conectate automat sunt create și configurate implicit. Dar adnotarea @Lazy poate fi folosită dacă dezvoltatorul dorește să inițializeze leneș un bean. Astfel, bean-ul este creat și inițializat doar la cerere. Adnotarea @Lazy poate fi folosită și pe clasele @Configuration, ceea ce înseamnă că toate metodele @Bean din acel @Configuration vor fi inițiate alene.
Deși această listă de adnotări Java Spring Boot nu este exhaustivă, ea acoperă mai mult sau mai puțin pe cele de bază pe care fiecare dezvoltator sau pasionat de Java ar trebui să le cunoască. La urma urmei, Spring Boot a simplificat dezvoltarea aplicațiilor bazate pe Spring și merită cunoscut.
Master în știința datelor de la Universitatea John Moores din Liverpool
Dacă sunteți un aspirant în domeniul științei datelor, iată o oportunitate de a învăța de la cei mai buni. upGrad oferă un master online în știința datelor în parteneriat cu Universitatea Liverpool John Moores, special conceput pentru profesioniștii care lucrează care doresc să-și perfecționeze abilitățile și cunoștințele în domeniul științei datelor.
Iată câteva puncte importante ale programului dintr-o privire:
- Master de la LJMU și Executive PGP de la IIT Bangalore
- Peste 500 de ore de învățare pline de sesiuni live, studii de caz și proiecte
- Acoperire cuprinzătoare a peste 14 instrumente și software
- Trei specializări unice
- Asistență în carieră dedicată la 360 de grade
- Învățare între egali și creare de rețele din industrie
Programele de învățare captivante și relevante pentru industrie ale upGrad au afectat peste 500.000 de profesioniști care lucrează la nivel global și continuă să stabilească standarde înalte în industria EdTech superior. Așadar, aplicați astăzi și alăturați-vă celor peste 40.000 de cursanți la nivel mondial, răspândiți în 85 de țări!
Învață cursuri de știință a datelor online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Care este scopul starter-ului Spring Boot?
Începătorii Spring Boot sunt descriptori de dependență care permit adăugarea borcanelor în calea clasei. Fiecare starter are următorul model de denumire în cadrul Spring Boot: spring-boot-starter-*, unde * reprezintă un anumit tip de aplicație.
Care este diferența dintre @SpringBootApplication și @EnableAutoConfiguration?
Sarcina principală a @EnableAutoConfiguration este de a activa funcțiile de configurare automată ale aplicației Spring Boot. Dimpotrivă, @SpringBootApplication combină trei adnotări - @ComponentScan pentru scanarea componentelor, @Configuration pentru configurația bazată pe Java pe cadru Spring și @EnableAutoConfiguration pentru a permite configurarea automată în aplicațiile Spring Boot.
Spring Boot poate rula fără SpringBootApplication?
Nu este obligatoriu să utilizați @SpringBootApplication pentru a crea o aplicație Spring Boot. Puteți utiliza în continuare @EnableAutoConfiguration și @Configuration individual.