logo

Fjäderstövelanteckningar

Spring Boot Annotations är en form av metadata som tillhandahåller data om ett program. Med andra ord, annoteringar används för att tillhandahålla kompletterande information om ett program. Det är inte en del av applikationen som vi utvecklar. Det har ingen direkt effekt på funktionen av koden de annoterar. Det ändrar inte åtgärden för det kompilerade programmet.

I det här avsnittet kommer vi att diskutera några viktiga Spring Boot Annotation som vi kommer att använda senare i denna handledning.

slå samman sort java

Kärnanteckningar för våren

@Nödvändig: Det gäller för böna sättermetod. Det indikerar att den kommenterade bönan måste fyllas i vid konfigurationstillfället med den nödvändiga egenskapen, annars ger den ett undantag BeanInitilizationException .

Exempel

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

@Autowired: Spring tillhandahåller annoteringsbaserad automatisk koppling genom att tillhandahålla @Autowired-anteckning. Den används för att autowire fjäderbönor på sättermetoder, instansvariabel och konstruktor. När vi använder @Autowired-anteckning kopplar fjäderbehållaren bönan automatiskt genom att matcha datatyp.

Exempel

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

@Konfiguration: Det är en anteckning på klassnivå. Klassen kommenterad med @Configuration som används av Spring Containers som en källa till böndefinitioner.

Exempel

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

@ComponentScan: Den används när vi vill skanna ett paket efter bönor. Den används med anteckningen @Configuration. Vi kan också specificera baspaketen som ska skannas efter fjäderkomponenter.

Exempel

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

@Böna: Det är en anteckning på metodnivå. Det är ett alternativ till XML-taggen. Den visar metoden för att producera en böna som ska hanteras av Spring Container.

Exempel

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

Stereotypanteckningar för fjäderramen

@Komponent: Det är en anteckning på klassnivå. Den används för att markera en Java-klass som en böna. En Java-klass kommenterad med @Komponent hittas under klassvägen. Spring Framework plockar upp det och konfigurerar det i applikationssammanhang som en Vårböna .

java sträng av array

Exempel

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

@Kontroller: @Controller är en anteckning på klassnivå. Det är en specialisering av @Komponent . Den markerar en klass som en webbförfrågningshanterare. Det används ofta för att betjäna webbsidor. Som standard returnerar den en sträng som anger vilken rutt som ska omdirigeras. Den används mest med @RequestMapping anteckning.

Exempel

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

@Service: Det används även på klassnivå. Den säger till våren att klassen innehåller företagslogik .

Exempel

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

@Repository: Det är en anteckning på klassnivå. Förvaret är en DAOs (Data Access Object) som kommer åt databasen direkt. Förvaret utför alla operationer relaterade till databasen.

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

Fjäderstövelanteckningar

    @EnableAutoConfiguration:Den konfigurerar automatiskt bönan som finns i klassvägen och konfigurerar den för att köra metoderna. Användningen av denna anteckning reduceras i Spring Boot 1.2.0-versionen eftersom utvecklare tillhandahållit ett alternativ till annoteringen, dvs. @SpringBootApplication .@SpringBootApplication:Det är en kombination av tre kommentarer @EnableAutoConfiguration, @ComponentScan, och @Konfiguration .

Fjäder-MVC och REST-anteckningar

    @RequestMapping:Den används för att kartlägga webbförfrågningar . Den har många valfria element som konsumerar, rubrik, metod, namn, params, sökväg, producerar , och värde . Vi använder det med klassen såväl som metoden.

Exempel

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Den kartlägger HTTP GET förfrågningar om den specifika hanterarmetoden. Den används för att skapa en webbtjänstslutpunkt som hämtar Det används istället för att använda: @RequestMapping(metod = RequestMethod.GET) @PostMapping:Den kartlägger HTTP POST förfrågningar om den specifika hanterarmetoden. Den används för att skapa en webbtjänstslutpunkt som skapar Det används istället för att använda: @RequestMapping(metod = RequestMethod.POST) @PutMapping:Den kartlägger HTTP PUT förfrågningar om den specifika hanterarmetoden. Den används för att skapa en webbtjänstslutpunkt som skapar eller uppdateringar Det används istället för att använda: @RequestMapping(metod = RequestMethod.PUT) @DeleteMapping:Den kartlägger HTTP DELETE förfrågningar om den specifika hanterarmetoden. Den används för att skapa en webbtjänstslutpunkt som raderar en resurs. Det används istället för att använda: @RequestMapping(metod = RequestMethod.DELETE) @PatchMapping:Den kartlägger HTTP PATCH förfrågningar om den specifika hanterarmetoden. Det används istället för att använda: @RequestMapping(metod = RequestMethod.PATCH) @RequestBody:Den är van vid binda HTTP-begäran med ett objekt i en metodparameter. Internt använder den HTTP MessageConverters för att konvertera innehållet i begäran. När vi annoterar en metodparameter med @RequestBody, Spring-ramverket binder den inkommande HTTP-begäran till den parametern.@ResponseBody:Den binder metodens returvärde till svarskroppen. Det säger till Spring Boot Framework att serialisera ett returnerar ett objekt till JSON- och XML-format.@PathVariable:Den används för att extrahera värdena från URI:n. Den är mest lämplig för webbtjänsten RESTful, där URL:en innehåller en sökvägsvariabel. Vi kan definiera flera @PathVariable i en metod.@RequestParam:Den används för att extrahera frågeparametrarna från URL:en. Det är också känt som en frågeparameter . Det är mest lämpligt för webbapplikationer. Den kan ange standardvärden om frågeparametern inte finns i URL:en.@RequestHeader:Den används för att få information om HTTP-förfrågningshuvudena. Vi använder den här kommentaren som en metodparameter . De valfria delarna av anteckningen är name, required, value, defaultValue. För varje detalj i rubriken bör vi ange separata kommentarer. Vi kan använda det flera gånger i en metod@RestController:Det kan betraktas som en kombination av @Kontroller och @ResponseBody anteckningar . @RestController-kommentaren är själv kommenterad med @ResponseBody-kommentaren. Det eliminerar behovet av att kommentera varje metod med @ResponseBody.@RequestAttribute:Den binder en metodparameter till begäran om attribut. Det ger bekväm åtkomst till förfrågningsattributen från en kontrollmetod. Med hjälp av @RequestAttribute-anteckningen kan vi komma åt objekt som är befolkade på serversidan.

Obs: Vi har använt alla ovanstående anteckningar i vår RESTful Web Services Tutorial med verkliga exempel.