logo

Spring Boot-Anmerkungen

Spring Boot Annotations sind eine Form von Metadaten, die Daten über ein Programm bereitstellen. Mit anderen Worten: Anmerkungen dienen der Bereitstellung ergänzend Informationen zu einem Programm. Es ist nicht Teil der Anwendung, die wir entwickeln. Es hat keinen direkten Einfluss auf die Funktionsweise des mit Anmerkungen versehenen Codes. Die Aktion des kompilierten Programms wird dadurch nicht geändert.

In diesem Abschnitt werden wir einige wichtige Themen besprechen Spring Boot-Anmerkung die wir später in diesem Tutorial verwenden werden.

Anmerkungen zum Kern des Spring-Frameworks

@Erforderlich: Es gilt für die Bohne Setter-Methode. Es gibt an, dass die annotierte Bean zum Zeitpunkt der Konfiguration mit der erforderlichen Eigenschaft gefüllt werden muss, andernfalls wird eine Ausnahme ausgelöst BeanInitilizationException .

Beispiel

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

@Autowired: Spring bietet eine annotationsbasierte automatische Verdrahtung durch die Bereitstellung der @Autowired-Annotation. Es wird verwendet, um Spring Beans automatisch mit Setter-Methoden, Instanzvariablen und Konstruktoren zu verbinden. Wenn wir die Annotation @Autowired verwenden, verdrahtet der Spring-Container die Bean automatisch, indem er den Datentyp abgleicht.

Beispiel

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

@Aufbau: Es handelt sich um eine Annotation auf Klassenebene. Die mit @Configuration annotierte Klasse, die von Spring Containers als Quelle für Bean-Definitionen verwendet wird.

Beispiel

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

@ComponentScan: Es wird verwendet, wenn wir ein Paket nach Bohnen durchsuchen möchten. Es wird mit der Annotation @Configuration verwendet. Wir können auch die Basispakete angeben, die nach Spring-Komponenten durchsucht werden sollen.

Beispiel

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

@Bohne: Es handelt sich um eine Annotation auf Methodenebene. Es ist eine Alternative zum XML-Tag. Es weist die Methode an, eine Bean zu erzeugen, die von Spring Container verwaltet werden soll.

SQL-Datentypen

Beispiel

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

Anmerkungen zum Spring Framework-Stereotyp

@Komponente: Es handelt sich um eine Annotation auf Klassenebene. Es wird verwendet, um eine Java-Klasse als Bean zu markieren. Eine mit Anmerkungen versehene Java-Klasse @Komponente wird während des Klassenpfads gefunden. Das Spring Framework greift es auf und konfiguriert es im Anwendungskontext als Frühlingsbohne .

Beispiel

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

@Regler: Der @Controller ist eine Annotation auf Klassenebene. Es ist eine Spezialisierung von @Komponente . Es markiert eine Klasse als Web-Request-Handler. Es wird häufig zur Bereitstellung von Webseiten verwendet. Standardmäßig wird eine Zeichenfolge zurückgegeben, die angibt, welche Route umgeleitet werden soll. Es wird hauptsächlich mit verwendet @RequestMapping Anmerkung.

Beispiel

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

@Service: Es wird auch auf Klassenebene verwendet. Es teilt dem Frühling mit, dass die Klasse das enthält Geschäftslogik .

Beispiel

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

@Repository: Es handelt sich um eine Annotation auf Klassenebene. Das Repository ist ein DAOs (Data Access Object), die direkt auf die Datenbank zugreifen. Das Repository führt alle Vorgänge im Zusammenhang mit der Datenbank aus.

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

Spring Boot-Anmerkungen

    @EnableAutoConfiguration:Es konfiguriert die Bean, die im Klassenpfad vorhanden ist, automatisch und konfiguriert sie für die Ausführung der Methoden. Die Verwendung dieser Annotation ist in der Version Spring Boot 1.2.0 eingeschränkt, da die Entwickler eine Alternative zur Annotation bereitgestellt haben, d. h. @SpringBootApplication .@SpringBootApplication:Es handelt sich um eine Kombination aus drei Anmerkungen @EnableAutoConfiguration, @ComponentScan, Und @Aufbau .

Spring MVC- und REST-Anmerkungen

    @RequestMapping:Es wird verwendet, um die abzubilden Webanfragen . Es hat viele optionale Elemente wie verbraucht, Header, Methode, Name, Parameter, Pfad, produziert , Und Wert . Wir verwenden es sowohl mit der Klasse als auch mit der Methode.

Beispiel

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Es bildet die ab HTTP-GET Anfragen an die spezifische Handler-Methode. Es wird verwendet, um einen Webdienst-Endpunkt zu erstellen holt Es wird anstelle von verwendet: @RequestMapping(method = RequestMethod.GET) @PostMapping:Es bildet die ab HTTP-POST Anfragen an die spezifische Handler-Methode. Es wird verwendet, um einen Webdienst-Endpunkt zu erstellen schafft Es wird anstelle von verwendet: @RequestMapping(method = RequestMethod.POST) @PutMapping:Es bildet die ab HTTP PUT Anfragen an die spezifische Handler-Methode. Es wird verwendet, um einen Webdienst-Endpunkt zu erstellen schafft oder Aktualisierung Es wird anstelle von verwendet: @RequestMapping(method = RequestMethod.PUT) @DeleteMapping:Es bildet die ab HTTP-LÖSCHEN Anfragen an die spezifische Handler-Methode. Es wird verwendet, um einen Webdienst-Endpunkt zu erstellen löscht eine Ressource. Es wird anstelle von verwendet: @RequestMapping(method = RequestMethod.DELETE) @PatchMapping:Es bildet die ab HTTP-PATCH Anfragen an die spezifische Handler-Methode. Es wird anstelle von verwendet: @RequestMapping(method = RequestMethod.PATCH) @RequestBody:Es ist gewohnt binden HTTP-Anfrage mit einem Objekt in einem Methodenparameter. Intern verwendet es HTTP-Nachrichtenkonverter um den Hauptteil der Anfrage zu konvertieren. Wenn wir einen Methodenparameter mit Anmerkungen versehen @RequestBody, Das Spring-Framework bindet den eingehenden HTTP-Anfragetext an diesen Parameter.@ResponseBody:Es bindet den Rückgabewert der Methode an den Antworttext. Es weist das Spring Boot Framework an, ein Objekt zu serialisieren und in das JSON- und XML-Format zurückzugeben.@PathVariable:Es wird verwendet, um die Werte aus dem URI zu extrahieren. Es eignet sich am besten für den RESTful-Webdienst, bei dem die URL eine Pfadvariable enthält. Wir können mehrere @PathVariable in einer Methode definieren.@RequestParam:Es wird verwendet, um die Abfrageparameter aus der URL zu extrahieren. Es ist auch als a bekannt Abfrageparameter . Es eignet sich am besten für Webanwendungen. Es kann Standardwerte angeben, wenn der Abfrageparameter nicht in der URL vorhanden ist.@RequestHeader:Es wird verwendet, um Details zu den HTTP-Anforderungsheadern abzurufen. Wir verwenden diese Anmerkung als Methodenparameter . Die optionalen Elemente der Anmerkung sind Name, erforderlich, Wert, Standardwert. Für jedes Detail in der Kopfzeile sollten wir separate Anmerkungen angeben. Wir können es mehrmals in einer Methode verwenden@RestController:Es kann als eine Kombination von betrachtet werden @Regler Und @ResponseBody Anmerkungen . Die Annotation @RestController selbst ist mit der Annotation @ResponseBody annotiert. Dadurch entfällt die Notwendigkeit, jede Methode mit @ResponseBody zu kommentieren.@RequestAttribute:Es bindet einen Methodenparameter an das Anforderungsattribut. Es bietet bequemen Zugriff auf die Anforderungsattribute über eine Controller-Methode. Mit Hilfe der @RequestAttribute-Annotation können wir auf Objekte zugreifen, die auf der Serverseite aufgefüllt werden.

Hinweis: Wir haben alle oben genannten Anmerkungen in unserem RESTful Web Services-Tutorial mit Beispielen aus der Praxis verwendet.