logo

Annotazioni sullo stivale primaverile

Spring Boot Annotations è una forma di metadati che fornisce dati su un programma. In altre parole, le annotazioni vengono utilizzate per fornire supplementare informazioni su un programma. Non è una parte dell'applicazione che sviluppiamo. Non ha un effetto diretto sul funzionamento del codice che annotano. Non modifica l'azione del programma compilato.

In questa sezione ne discuteremo alcuni importanti Annotazione dello stivale primaverile che utilizzeremo più avanti in questo tutorial.

Annotazioni del framework Spring principale

@Necessario: Si applica a fagiolo metodo setter. Indica che il bean annotato deve essere popolato in fase di configurazione con la proprietà richiesta, altrimenti genera un'eccezione BeanInitilizationException .

Esempio

 public class Machine { private Integer cost; @Required public void setCost(Integer cost) { this.cost = cost; } public Integer getCost() { return cost; } } 

@Autowired: Spring fornisce il cablaggio automatico basato su annotazioni fornendo l'annotazione @Autowired. Viene utilizzato per collegare automaticamente lo spring bean ai metodi setter, alla variabile di istanza e al costruttore. Quando utilizziamo l'annotazione @Autowired, il contenitore a molla collega automaticamente il bean facendo corrispondere il tipo di dati.

Esempio

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

@Configurazione: È un'annotazione a livello di classe. La classe annotata con @Configuration utilizzata da Spring Containers come origine delle definizioni di bean.

Esempio

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

@ComponentScan: Viene utilizzato quando vogliamo scansionare un pacchetto alla ricerca di bean. Viene utilizzato con l'annotazione @Configuration. Possiamo anche specificare i pacchetti base da scansionare per i componenti Spring.

Esempio

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

@Fagiolo: È un'annotazione a livello di metodo. È un'alternativa al tag XML. Indica il metodo per produrre un bean che deve essere gestito da Spring Container.

Esempio

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

Annotazioni sugli stereotipi di Spring Framework

@Componente: È un'annotazione a livello di classe. Viene utilizzato per contrassegnare una classe Java come bean. Una classe Java annotata con @Componente si trova durante il classpath. Spring Framework lo raccoglie e lo configura nel contesto dell'applicazione come a Fagiolo primaverile .

Esempio

 @Component public class Student { ....... } 

@Controllore: @Controller è un'annotazione a livello di classe. È una specializzazione di @Componente . Contrassegna una classe come gestore di richieste web. Viene spesso utilizzato per servire pagine web. Per impostazione predefinita, restituisce una stringa che indica quale percorso reindirizzare. Viene utilizzato principalmente con @RequestMapping annotazione.

Esempio

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

@Servizio: Viene utilizzato anche a livello di classe. Dice a Spring che la classe contiene il file logica di business .

Esempio

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

@Archivio: È un'annotazione a livello di classe. Il deposito è un DAO (Data Access Object) che accedono direttamente al database. Il repository esegue tutte le operazioni relative al database.

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

Annotazioni sullo stivale primaverile

    @EnableAutoConfiguration:Configura automaticamente il bean presente nel classpath e lo configura per eseguire i metodi. L'uso di questa annotazione è ridotto nella versione Spring Boot 1.2.0 perché gli sviluppatori hanno fornito un'alternativa all'annotazione, ovvero @SpringBootApplication .@SpringBootApplication:È una combinazione di tre annotazioni @EnableAutoConfiguration, @ComponentScan, E @Configurazione .

Annotazioni Spring MVC e REST

    @RequestMapping:Viene utilizzato per mappare il richieste web . Ha molti elementi opzionali come consuma, intestazione, metodo, nome, parametri, percorso, produce , E valore . Lo usiamo con la classe e con il metodo.

Esempio

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Mappa il OTTIENI HTTP richieste sul metodo del gestore specifico. Viene utilizzato per creare un endpoint del servizio Web che recupera Viene utilizzato invece di utilizzare: @RequestMapping(metodo = RequestMethod.GET) @PostMapping:Mappa il POST HTTP richieste sul metodo del gestore specifico. Viene utilizzato per creare un endpoint del servizio Web che crea Viene utilizzato invece di utilizzare: @RequestMapping(metodo = RequestMethod.POST) @PutMapping:Mappa il INSERIMENTO HTTP richieste sul metodo del gestore specifico. Viene utilizzato per creare un endpoint del servizio Web che crea O aggiornamenti Viene utilizzato invece di utilizzare: @RequestMapping(metodo = RequestMethod.PUT) @DeleteMapping:Mappa il ELIMINA HTTP richieste sul metodo del gestore specifico. Viene utilizzato per creare un endpoint del servizio Web che elimina una risorsa. Viene utilizzato invece di utilizzare: @RequestMapping(metodo = RequestMethod.DELETE) @PatchMapping:Mappa il PATCH HTTP richieste sul metodo del gestore specifico. Viene utilizzato invece di utilizzare: @RequestMapping(metodo = RequestMethod.PATCH) @RequestBody:È abituato legamento Richiesta HTTP con un oggetto in un parametro del metodo. Internamente utilizza Convertitori di messaggi HTTP per convertire il corpo della richiesta. Quando annotiamo un parametro di metodo con @RequestBody, il framework Spring associa il corpo della richiesta HTTP in entrata a quel parametro.@ResponseBody:Associa il valore restituito dal metodo al corpo della risposta. Indica allo Spring Boot Framework di serializzare un oggetto restituito in formato JSON e XML.@PathVariable:Viene utilizzato per estrarre i valori dall'URI. È particolarmente adatto per il servizio Web RESTful, in cui l'URL contiene una variabile di percorso. Possiamo definire più @PathVariable in un metodo.@RequestParam:Viene utilizzato per estrarre i parametri di query dall'URL. È noto anche come a parametro di interrogazione . È più adatto per le applicazioni web. Può specificare valori predefiniti se il parametro di query non è presente nell'URL.@RequestHeader:Viene utilizzato per ottenere i dettagli sulle intestazioni della richiesta HTTP. Usiamo questa annotazione come a parametro del metodo . Gli elementi facoltativi dell'annotazione sono nome, obbligatorio, valore, defaultValue. Per ogni dettaglio nell'intestazione, dovremmo specificare annotazioni separate. Possiamo usarlo più volte in un metodo@RestController:Può essere considerato come una combinazione di @Controllore E @ResponseBody annotazioni . L'annotazione @RestController è essa stessa annotata con l'annotazione @ResponseBody. Elimina la necessità di annotare ciascun metodo con @ResponseBody.@RequestAttribute:Associa un parametro del metodo all'attributo della richiesta. Fornisce un comodo accesso agli attributi della richiesta da un metodo del controller. Con l'aiuto dell'annotazione @RequestAttribute, possiamo accedere agli oggetti popolati sul lato server.

Nota: abbiamo utilizzato tutte le annotazioni precedenti nel nostro tutorial sui servizi Web RESTful con esempi reali.