logo

Forårsstøvleanmærkninger

Spring Boot Annotations er en form for metadata, der giver data om et program. Med andre ord bruges annoteringer til at give supplerende information om et program. Det er ikke en del af applikationen, vi udvikler. Det har ikke en direkte effekt på funktionen af ​​den kode, de annoterer. Det ændrer ikke handlingen i det kompilerede program.

I dette afsnit vil vi diskutere nogle vigtige Spring Boot Annotation som vi vil bruge senere i denne tutorial.

Kerneanmærkninger for forårets ramme

@Påkrævet: Det gælder for bønne sætter metode. Det angiver, at den annoterede bønne skal udfyldes på konfigurationstidspunktet med den påkrævede egenskab, ellers kaster den en undtagelse BeanInitilizationException .

Eksempel

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

@Autowired: Spring giver annotationsbaseret automatisk ledningsføring ved at levere @Autowired annotering. Det bruges til at autowire fjederbønne på setter-metoder, instansvariabel og konstruktør. Når vi bruger @Autowired-annotation, forbinder fjederbeholderen automatisk bønnen ved at matche datatypen.

Eksempel

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

@Konfiguration: Det er en annotation på klasseniveau. Klassen annoteret med @Configuration brugt af Spring Containers som en kilde til bønnedefinitioner.

Eksempel

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

@ComponentScan: Det bruges, når vi vil scanne en pakke for bønner. Den bruges sammen med annotationen @Configuration. Vi kan også angive de basispakker, der skal scannes for fjederkomponenter.

Eksempel

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

@Bønne: Det er en annotation på metodeniveau. Det er et alternativ til XML-tag. Det fortæller metoden til at producere en bønne, der skal styres af Spring Container.

Eksempel

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

Spring Framework Stereotype Annotationer

@Komponent: Det er en annotation på klasseniveau. Det bruges til at markere en Java-klasse som en bønne. En Java-klasse kommenteret med @Komponent findes under klassestien. Spring Framework henter det og konfigurerer det i applikationskonteksten som en Spring Bean .

Eksempel

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

@Controller: @Controller er en annotation på klasseniveau. Det er en specialisering af @Komponent . Det markerer en klasse som en webanmodningshandler. Det bruges ofte til at betjene websider. Som standard returnerer den en streng, der angiver, hvilken rute der skal omdirigeres. Det bruges mest med @RequestMapping anmærkning.

Eksempel

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

@Service: Det bruges også på klasseniveau. Det fortæller foråret, at klassen indeholder forretningslogik .

Eksempel

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

@Repository: Det er en annotation på klasseniveau. Depotet er en DAO'er (Data Access Object), der får direkte adgang til databasen. Depotet udfører alle operationer relateret til databasen.

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

Spring Boot Annotations

    @EnableAutoConfiguration:Den konfigurerer automatisk den bønne, der er til stede i klassestien, og konfigurerer den til at køre metoderne. Brugen af ​​denne annotering er reduceret i Spring Boot 1.2.0-udgivelsen, fordi udviklere leverede et alternativ til annoteringen, dvs. @SpringBootApplication .@SpringBootApplication:Det er en kombination af tre anmærkninger @EnableAutoConfiguration, @ComponentScan, og @Konfiguration .

Spring MVC og REST annoteringer

    @RequestMapping:Det bruges til at kortlægge web-anmodninger . Den har mange valgfrie elementer som forbruger, header, metode, navn, params, sti, producerer , og værdi . Vi bruger det med klassen såvel som metoden.

Eksempel

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Det kortlægger HTTP GET anmodninger om den specifikke behandlermetode. Det bruges til at oprette et webservice-slutpunkt, der henter Det bruges i stedet for at bruge: @RequestMapping(metode = RequestMethod.GET) @PostMapping:Det kortlægger HTTP POST anmodninger om den specifikke behandlermetode. Det bruges til at oprette et webservice-slutpunkt, der skaber Det bruges i stedet for at bruge: @RequestMapping(metode = RequestMethod.POST) @PutMapping:Det kortlægger HTTP PUT anmodninger om den specifikke behandlermetode. Det bruges til at oprette et webservice-slutpunkt, der skaber eller opdateringer Det bruges i stedet for at bruge: @RequestMapping(metode = RequestMethod.PUT) @DeleteMapping:Det kortlægger HTTP SLET anmodninger om den specifikke behandlermetode. Det bruges til at oprette et webservice-slutpunkt, der sletter en ressource. Det bruges i stedet for at bruge: @RequestMapping(metode = RequestMethod.DELETE) @PatchMapping:Det kortlægger HTTP PATCH anmodninger om den specifikke behandlermetode. Det bruges i stedet for at bruge: @RequestMapping(metode = RequestMethod.PATCH) @RequestBody:Det er vant til binde HTTP-anmodning med et objekt i en metodeparameter. Internt bruger den HTTP MessageConverters at konvertere hovedteksten i anmodningen. Når vi annoterer en metodeparameter med @RequestBody, Spring-rammen binder den indgående HTTP-anmodningstekst til denne parameter.@ResponseBody:Det binder metodereturværdien til svarlegemet. Det fortæller Spring Boot Framework at serialisere en returnering af et objekt til JSON- og XML-format.@PathVariable:Det bruges til at udtrække værdierne fra URI'en. Den er mest velegnet til RESTful-webservicen, hvor URL'en indeholder en stivariabel. Vi kan definere flere @PathVariable i en metode.@RequestParam:Det bruges til at udtrække forespørgselsparametrene fra URL'en. Det er også kendt som en forespørgselsparameter . Det er mest velegnet til webapplikationer. Den kan angive standardværdier, hvis forespørgselsparameteren ikke er til stede i URL'en.@RequestHeader:Det bruges til at få detaljerne om HTTP-anmodningsheaderne. Vi bruger denne annotation som en metode parameter . De valgfrie elementer i annotationen er navn, påkrævet, værdi, defaultValue. For hver detalje i overskriften bør vi angive separate annoteringer. Vi kan bruge det flere gange i en metode@RestController:Det kan betragtes som en kombination af @Kontroller og @ResponseBody anmærkninger . @RestController-annotationen er selv kommenteret med @ResponseBody-annotationen. Det eliminerer behovet for at kommentere hver metode med @ResponseBody.@RequestAttribute:Den binder en metodeparameter til anmodningsattribut. Det giver nem adgang til anmodningsattributterne fra en controller-metode. Ved hjælp af @RequestAttribute annotering kan vi få adgang til objekter, der er udfyldt på serversiden.

Bemærk: Vi har brugt alle ovenstående annoteringer i vores RESTful Web Services Tutorial med eksempler fra den virkelige verden.