logo

Adnotări de primăvară

Spring Boot Annotations este o formă de metadate care furnizează date despre un program. Cu alte cuvinte, adnotările sunt folosite pentru a furniza suplimentar informații despre un program. Nu face parte din aplicația pe care o dezvoltăm. Nu are un efect direct asupra funcționării codului pe care îl adnotă. Nu modifică acțiunea programului compilat.

În această secțiune, vom discuta câteva lucruri importante Adnotare Spring Boot pe care îl vom folosi mai târziu în acest tutorial.

Adnotări de bază de primăvară

@Necesar: Se aplică la fasole metoda setterului. Indică faptul că bean-ul adnotat trebuie să fie populat în momentul configurării cu proprietatea necesară, altfel lansează o excepție BeanInitilizationException .

Exemplu

conversia int în șir
 public class Machine { private Integer cost; @Required public void setCost(Integer cost) { this.cost = cost; } public Integer getCost() { return cost; } } 

@cablat automat: Spring oferă o cablare automată bazată pe adnotări, oferind adnotări @Autowired. Este folosit pentru cablarea automată a fasolei cu arc pe metode de setare, variabilă de instanță și constructor. Când folosim adnotarea @Autowired, containerul cu arc conectează automat bobul prin potrivirea tipului de date.

Exemplu

 @Component public class Customer { private Person person; @Autowired public Customer(Person person) { this.person=person; } } 

@Configurare: Este o adnotare la nivel de clasă. Clasa adnotată cu @Configuration folosită de Spring Containers ca sursă de definiții ale fasolei.

șir conține

Exemplu

 @Configuration public class Vehicle { @BeanVehicle engine() { return new Vehicle(); } } 

@ComponentScan: Este folosit atunci când dorim să scanăm un pachet pentru fasole. Este folosit cu adnotarea @Configuration. De asemenea, putem specifica pachetele de bază de scanat pentru componente Spring.

Exemplu

 @ComponentScan(basePackages = 'com.javatpoint') @Configuration public class ScanComponent { // ... } 

@Fasole: Este o adnotare la nivel de metodă. Este o alternativă a etichetei XML. Spune metoda de producere a unui fasole care urmează să fie gestionat de Spring Container.

Exemplu

 @Bean public BeanExample beanExample() { return new BeanExample (); } 

Adnotări stereotip Spring Framework

@Component: Este o adnotare la nivel de clasă. Este folosit pentru a marca o clasă Java ca bean. O clasă Java adnotată cu @Component este găsit în timpul cursei. Spring Framework îl preia și îl configurează în contextul aplicației ca a Fasole de primăvară .

Exemplu

sql selectează mai multe tabele
 @Component public class Student { ....... } 

@Controlor: @Controller este o adnotare la nivel de clasă. Este o specializare a @Component . Acesta marchează o clasă ca un handler de cereri web. Este adesea folosit pentru a servi pagini web. În mod implicit, returnează un șir care indică ce rută să redirecționeze. Este folosit mai ales cu @RequestMapping adnotare.

Exemplu

 @Controller @RequestMapping('books') public class BooksController { @RequestMapping(value = '/{name}', method = RequestMethod.GET) public Employee getBooksByName() { return booksTemplate; } } 

@Serviciu: Este folosit și la nivel de clasă. Îi spune primăverii că clasa conține lociga afacerii .

Exemplu

 package com.javatpoint; @Service public class TestService { public void service1() { //business code } } 

@Repertoriu: Este o adnotare la nivel de clasă. Depozitul este a DAO-uri (Data Access Object) care accesează direct baza de date. Depozitul face toate operațiunile legate de baza de date.

pentru bucle java
 package com.javatpoint; @Repository public class TestRepository { public void delete() { //persistence code } } 

Adnotări de primăvară

    @EnableAutoConfiguration:Auto-configurează bean-ul care este prezent în classpath și îl configurează pentru a rula metodele. Utilizarea acestei adnotări este redusă în versiunea Spring Boot 1.2.0, deoarece dezvoltatorii au oferit o alternativă a adnotării, de exemplu. @SpringBootApplication .@SpringBootApplication:Este o combinație de trei adnotări @EnableAutoConfiguration, @ComponentScan, și @Configurare .

Adnotări Spring MVC și REST

    @RequestMapping:Este folosit pentru a mapa cereri web . Are multe elemente opționale, cum ar fi consumă, antet, metodă, nume, parametri, cale, produce , și valoare . Îl folosim atât cu clasa, cât și cu metoda.

Exemplu

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Se cartografiază HTTP GET solicitări privind metoda de gestionare specifică. Este folosit pentru a crea un punct final al serviciului web care aduce Se folosește în loc să se folosească: @RequestMapping (metoda = RequestMethod.GET) @PostMapping:Se cartografiază HTTP POST solicitări privind metoda de gestionare specifică. Este folosit pentru a crea un punct final al serviciului web care creează Se folosește în loc să se folosească: @RequestMapping (metoda = RequestMethod.POST) @PutMapping:Se cartografiază HTTP PUT solicitări privind metoda de gestionare specifică. Este folosit pentru a crea un punct final al serviciului web care creează sau actualizări Se folosește în loc să se folosească: @RequestMapping (metoda = RequestMethod.PUT) @DeleteMapping:Se cartografiază HTTP DELETE solicitări privind metoda de gestionare specifică. Este folosit pentru a crea un punct final al serviciului web care sterge o resursă. Se folosește în loc să se folosească: @RequestMapping(metoda = RequestMethod.DELETE) @PatchMapping:Se cartografiază PATCH HTTP solicitări privind metoda de gestionare specifică. Se folosește în loc să se folosească: @RequestMapping (metodă = RequestMethod.PATCH) @RequestBody:Este obișnuit lega Cerere HTTP cu un obiect într-un parametru de metodă. Pe plan intern se foloseste HTTP MessageConverters pentru a converti corpul cererii. Când adnotăm un parametru de metodă cu @RequestBody, cadrul Spring leagă corpul solicitării HTTP primite la acel parametru.@ResponseBody:Leagă valoarea returnată a metodei la corpul răspunsului. Îi spune Spring Boot Framework să serializeze o returnare a unui obiect în format JSON și XML.@PathVariable:Este folosit pentru a extrage valorile din URI. Este cel mai potrivit pentru serviciul web RESTful, unde URL-ul conține o variabilă de cale. Putem defini mai multe @PathVariable într-o metodă.@RequestParam:Este folosit pentru a extrage parametrii de interogare din URL. Este cunoscut și ca a parametru de interogare . Este cel mai potrivit pentru aplicații web. Poate specifica valori implicite dacă parametrul de interogare nu este prezent în adresa URL.@RequestHeader:Este folosit pentru a obține detalii despre anteturile solicitărilor HTTP. Folosim această adnotare ca a parametrul metodei . Elementele opționale ale adnotării sunt nume, obligatoriu, valoare, defaultValue. Pentru fiecare detaliu din antet, ar trebui să specificăm adnotări separate. Îl putem folosi de mai multe ori într-o metodă@RestController:Poate fi considerată ca o combinație de @Controlor și @ResponseBody adnotări . Adnotarea @RestController este ea însăși adnotată cu adnotarea @ResponseBody. Elimină necesitatea adnotării fiecărei metode cu @ResponseBody.@RequestAttribute:Leagă un parametru de metodă la un atribut de solicitare. Oferă acces convenabil la atributele de solicitare dintr-o metodă de controler. Cu ajutorul adnotării @RequestAttribute, putem accesa obiecte care sunt populate pe partea serverului.

Notă: Am folosit toate adnotările de mai sus în Tutorialul nostru RESTful Servicii Web cu exemple din lumea reală.