logo

Spring Boot-annotaties

Spring Boot Annotations is een vorm van metadata die gegevens over een programma levert. Met andere woorden, er worden annotaties gebruikt om te voorzien aanvullend informatie over een programma. Het maakt geen deel uit van de applicatie die wij ontwikkelen. Het heeft geen direct effect op de werking van de code die ze annoteren. Het verandert niets aan de actie van het gecompileerde programma.

In deze sectie gaan we enkele belangrijke bespreken Spring Boot-annotatie die we later in deze tutorial zullen gebruiken.

multiplexen

Core Spring Framework-annotaties

@Vereist: Het geldt voor de Boon setter methode. Het geeft aan dat de geannoteerde bean tijdens de configuratie moet worden gevuld met de vereiste eigenschap, anders wordt er een uitzondering gegenereerd BeanInitilizationException .

Voorbeeld

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

@Autobedraad: Spring biedt op annotaties gebaseerde automatische bedrading door @Autowired-annotatie aan te bieden. Het wordt gebruikt voor het automatisch bedraden van Spring Bean op setter-methoden, instantievariabelen en constructor. Wanneer we de @Autowired-annotatie gebruiken, bedraadt de veercontainer de boon automatisch door het gegevenstype te matchen.

Voorbeeld

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

@Configuratie: Het is een annotatie op klasseniveau. De klasse geannoteerd met @Configuration, gebruikt door Spring Containers als bron van bonendefinities.

Voorbeeld

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

@ComponentScan: Het wordt gebruikt wanneer we een pakket op bonen willen scannen. Het wordt gebruikt met de annotatie @Configuration. We kunnen ook de basispakketten specificeren die moeten worden gescand op Spring Components.

Voorbeeld

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

@Boon: Het is een annotatie op methodeniveau. Het is een alternatief voor de XML-tag. Het vertelt de methode om een ​​boon te produceren die door Spring Container moet worden beheerd.

Voorbeeld

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

Spring Framework Stereotype-annotaties

@Component: Het is een annotatie op klasseniveau. Het wordt gebruikt om een ​​Java-klasse als een bean te markeren. Een Java-klasse geannoteerd met @Component wordt gevonden tijdens het klassenpad. Het Spring Framework pikt het op en configureert het in de applicatiecontext als een Lente boon .

enum tostring java

Voorbeeld

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

@Controller: De @Controller is een annotatie op klasseniveau. Het is een specialisatie van @Component . Het markeert een klasse als een webverzoekhandler. Het wordt vaak gebruikt om webpagina's weer te geven. Standaard retourneert het een tekenreeks die aangeeft welke route moet worden omgeleid. Het wordt meestal gebruikt met @RequestMapping annotatie.

Voorbeeld

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

@Dienst: Het wordt ook op klasniveau gebruikt. Het vertelt de lente dat de klasse de zakelijke logica .

Voorbeeld

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

@Opslagplaats: Het is een annotatie op klasseniveau. De opslagplaats is een DAO's (Data Access Object) die rechtstreeks toegang hebben tot de database. De repository voert alle bewerkingen uit die verband houden met de database.

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

Spring Boot-annotaties

    @EnableAutoConfiguratie:Het configureert automatisch de bean die aanwezig is in het klassenpad en configureert deze om de methoden uit te voeren. Het gebruik van deze annotatie is verminderd in de Spring Boot 1.2.0-release omdat ontwikkelaars een alternatief voor de annotatie hebben geboden, d.w.z. @SpringBootApplicatie .@SpringBootApplicatie:Het is een combinatie van drie annotaties @EnableAutoConfiguration, @ComponentScan, En @Configuratie .

Spring MVC- en REST-annotaties

    @RequestMapping:Het wordt gebruikt om de kaart in kaart te brengen webverzoeken . Het heeft veel optionele elementen, zoals verbruikt, header, methode, naam, params, pad, produceert , En waarde . We gebruiken het zowel voor de klasse als voor de methode.

Voorbeeld

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Het brengt de HTTP KRIJGEN verzoeken over de specifieke handlermethode. Het wordt gebruikt om een ​​webservice-eindpunt te maken dat haalt Het wordt gebruikt in plaats van: @RequestMapping(methode = RequestMethod.GET) @PostMapping:Het brengt de HTTP-POST verzoeken over de specifieke handlermethode. Het wordt gebruikt om een ​​webservice-eindpunt te maken dat creëert Het wordt gebruikt in plaats van: @RequestMapping(methode = RequestMethod.POST) @PutMapping:Het brengt de HTTP-PUT verzoeken over de specifieke handlermethode. Het wordt gebruikt om een ​​webservice-eindpunt te maken dat creëert of updates Het wordt gebruikt in plaats van: @RequestMapping(methode = RequestMethod.PUT) @DeleteMapping:Het brengt de HTTP VERWIJDEREN verzoeken over de specifieke handlermethode. Het wordt gebruikt om een ​​webservice-eindpunt te maken dat verwijdert een grondstof. Het wordt gebruikt in plaats van: @RequestMapping(methode = RequestMethod.DELETE) @PatchMapping:Het brengt de HTTP-PATCH verzoeken over de specifieke handlermethode. Het wordt gebruikt in plaats van: @RequestMapping(methode = RequestMethod.PATCH) @RequestBody:Het is gewend binden HTTP-verzoek met een object in een methodeparameter. Intern gebruikt het HTTP-berichtconverters om de hoofdtekst van het verzoek te converteren. Wanneer we een methodeparameter annoteren met @RequestBody, het Spring-framework bindt de binnenkomende HTTP-aanvraagtekst aan die parameter.@ResponseBody:Het bindt de retourwaarde van de methode aan de antwoordtekst. Het vertelt het Spring Boot Framework om een ​​object te serialiseren en terug te sturen in JSON- en XML-indeling.@PathVariabele:Het wordt gebruikt om de waarden uit de URI te extraheren. Het is het meest geschikt voor de RESTful-webservice, waarbij de URL een padvariabele bevat. We kunnen meerdere @PathVariable in een methode definiëren.@RequestParam:Het wordt gebruikt om de queryparameters uit de URL te extraheren. Het is ook bekend als een vraagparameter . Het is het meest geschikt voor webapplicaties. Het kan standaardwaarden opgeven als de queryparameter niet aanwezig is in de URL.@RequestHeader:Het wordt gebruikt om de details over de HTTP-verzoekheaders te verkrijgen. We gebruiken deze annotatie als een methodeparameter . De optionele elementen van de annotatie zijn naam, vereist, waarde, standaardwaarde. Voor elk detail in de kop moeten we afzonderlijke annotaties opgeven. We kunnen het meerdere keren in een methode gebruiken@RestController:Het kan worden beschouwd als een combinatie van @Controller En @ResponseBody annotaties . De @RestController-annotatie is zelf geannoteerd met de @ResponseBody-annotatie. Het elimineert de noodzaak om elke methode te annoteren met @ResponseBody.@RequestAttribuut:Het bindt een methodeparameter om een ​​attribuut aan te vragen. Het biedt gemakkelijke toegang tot de aanvraagkenmerken via een controllermethode. Met behulp van de @RequestAttribute-annotatie hebben we toegang tot objecten die aan de serverzijde zijn gevuld.

Opmerking: we hebben alle bovenstaande annotaties gebruikt in onze RESTful Web Services-tutorial met praktijkvoorbeelden.