Grundlegende Anmerkungen zu Spring Boot, die jeder kennen sollte

Veröffentlicht: 2021-12-13

Java Spring Framework ist ein Open-Source-Framework auf Unternehmensebene, mit dem produktionstaugliche, eigenständige Anwendungen erstellt werden, die auf der Java Virtual Machine (JVM) ausgeführt werden. Java Spring Boot ist dafür ein Werkzeug, das die Entwicklung von Webanwendungen und Microservices mit dem Spring Framework vereinfacht und beschleunigt. Dafür nutzt Java Spring Boot drei Kernfunktionen – Autokonfiguration, einen eigenwilligen Konfigurationsansatz und das Potenzial, eigenständige Anwendungen zu erstellen. Die Zusammenführung dieser Kernfunktionen bietet ein Tool, mit dem Entwickler Spring-basierte Anwendungen mit minimalen Konfigurationen einrichten können.

Vor Annotationen war das Spring Framework-Verhalten größtenteils XML-konfigurationsgesteuert. Spring Boot-Anmerkungen haben jedoch die Art und Weise, wie Sie das Verhalten des Spring Framework konfigurieren können, dramatisch verändert.

In diesem Artikel gehen wir einige der grundlegenden Anmerkungen im Spring Framework durch.

Inhaltsverzeichnis

Was sind Spring Boot-Anmerkungen?

Spring Boot-Anmerkungen sind eine Form von Metadaten. Sie sind per se kein Teil der zu entwickelnden Anwendung, sondern stellen ergänzende Daten über ein Programm bereit. Anmerkungen haben keinen direkten Einfluss auf den Betrieb des Codes, den sie kommentieren, noch ändern sie die Aktion des kompilierten Programms.

Federanwendungen erfordern ein erhebliches Maß an Konfiguration. Spring Boot ist ein eigenständiges Framework, das auf dem Spring Framework aufbaut. Es minimiert den Konfigurationsaufwand und die Boilerplates, die man für den Einstieg benötigt. Spring Boot-Anmerkungen sind der Schlüssel, um die Kontrolle über das Spring Framework zu erlangen, das Framework zu steuern und seine Standardwerte bei Bedarf zu überschreiben. Diese Anmerkungen sind einfach zu verwenden und schneller, als die entsprechenden Funktionalitäten von Grund auf neu zu erstellen.

Spring Boot-Anmerkungen, die jeder kennen sollte

Obwohl Spring Boot Java, Groovy und Kotlin unterstützt, konzentrieren wir uns auf Java, während wir die wichtigen Anmerkungen zu Spring Boot besprechen.

1. @Konfiguration

Die @Configuration wird in Klassen verwendet, die Beans definieren. Ein Analogon zur XML-Konfigurationsdatei ist eine Annotation auf Klassenebene, die als Quelle für Bean-Definitionen verwendet wird. Eine mit @Configuration kommentierte Java-Klasse ist selbst eine Konfiguration und verfügt über Methoden zum Konfigurieren und Instanziieren von Abhängigkeiten.

Beispiel:

@Aufbau

Bus der öffentlichen Klasse

{

@ BeanBus-Motor ()

{

neuer Bus zurückgeben ();

}

}

2. @Bohne

Als Alternative zum XML-Tag <bean> wird die Annotation @Bean auf Methodenebene verwendet, um anzugeben, dass eine Methode eine Bean erzeugt, die vom Spring-Container verwaltet werden soll. Diese Anmerkung arbeitet zusammen mit @Configuration, um Spring Beans zu erstellen. Die @Configuration verfügt über Methoden zum Konfigurieren und Instanziieren von Abhängigkeiten, und solche Methoden sind mit @Bean kommentiert.

Beispiel:

@Bohne

Public BeanExample beanExample ()

{

return new BeanExample (),

}

3. @ComponentScan

Die Annotation @ComponentScan wird verwendet, um ein Bohnenpaket zu scannen. Es wird zusammen mit der Annotation @Configuration verwendet, um Spring die Pakete mitzuteilen, die nach annotierten Komponenten durchsucht werden müssen.

Beispiel:

@ComponentScan(basePackages = „com.xyz“)

@Aufbau

Öffentliche Klasse ScanComponent

{

//…

}

4. @Komponente

Die Annotation @Component wird für Klassen verwendet, um eine Spring-Komponente zu bezeichnen. Es ist eine Annotation auf Klassenebene, die die Klasse während des automatischen Scans in Spring Bean konvertiert.

Beispiel:

@Komponente

Lehrer der öffentlichen Klasse

{

……

}

5. @EnableAutoConfiguration

Die Annotation @EnableAutoConfiguration wird normalerweise in der Hauptanwendungsklasse platziert und definiert implizit ein Basissuchpaket. Basierend auf Klassenpfadeinstellungen, verschiedenen Eigenschaftseinstellungen und anderen Beans weist @EnableAutoConfiguration Spring Boot an, mit dem Hinzufügen von Beans zu beginnen.

6. @SpringBootApplication

Die Annotation @SpringBootApplication fügt drei Annotationen hinzu – @Configuration, @EnableAutoConfiguration und @ComponentScan. Es wird beim Einrichten des Spring Boot-Projekts für die Anwendungsklasse verwendet, und die mit @SpringBootApplication kommentierte Klasse wird in das Basispaket eingefügt. Die @SpringBootApplication scannt Komponenten, aber nur die Unterpakete.

7. @Repository

Die Annotation @Repository wird für Java-Klassen verwendet, die direkt auf die Datenbank zugreifen. Es fungiert als Markierung für Klassen, die die Rolle eines Datenzugriffsobjekts oder Repositorys erfüllen.

Beispiel:

@Repository

öffentliche Klasse TestRepository

{

öffentliche Leere löschen ()

{

// Persistenzcode

}

}

8. @Dienst

Es handelt sich um eine Annotation auf Klassenebene, die eine Java-Klasse kennzeichnet, die einen Dienst ausführt, z. B. das Ausführen von Geschäftslogik, das Durchführen von Berechnungen oder das Aufrufen externer APIs. Eine @Service-Annotation ist eine spezielle Form der @Component-Annotation zur Verwendung in der Serviceschicht.

Beispiel:

@Bedienung

öffentliche Klasse TestService

{

öffentlicher Leerdienst1()

{

// Geschäftscode

}

}

9. @Autowired

Diese Annotation fügt implizit Objektabhängigkeit ein und wird auf Felder, Konstruktoren und Setter-Methoden angewendet. Wenn @Autowired für Felder verwendet wird und die Werte für die Felder unter Verwendung des Eigenschaftsnamens übergeben werden, weist Spring den Feldern automatisch die übergebenen Werte zu.

10. @Controller

Die Annotation @Controller wird für Java-Klassen verwendet, die als Controller in einer Anwendung dienen. Es ermöglicht die automatische Erkennung von Komponentenklassen im Klassenpfad und auch die automatische Registrierung von Bean-Definitionen für sie. Die Annotation @Controller wird normalerweise mit @RequestMapping verwendet, und die mit @Controller annotierten Java-Klassen können mehrere Anforderungszuordnungen verarbeiten.

Beispiel:

@Regler

@RequestMapping ("Autos")

öffentliche Klasse CarsController

{

@RequestMapping(value= “/{name}”, method= RequestMethod.GET)

öffentlicher Mitarbeiter getCarsByName()

{

Autos zurückgebenVorlage;

}

}

11. @RequestMapping

Die Annotation @RequestMapping wird sowohl auf Methoden- als auch auf Klassenebene verwendet. Es dient dazu, Web-Requests auf bestimmte Handler-Methoden und Handler-Klassen abzubilden. Wenn @RequestMapping für Methoden verwendet wird, gibt es die URL an, auf der die Ausführung von Handler-Methoden erfolgt. Wenn die Annotation hingegen auf Klassenebene verwendet wird, erstellt sie eine Basis-URL, für die der Controller verwendet wird. Daher hat jede Behandlungsmethode ihre jeweilige Anforderungszuordnung, während die Anforderungszuordnung auf Klassenebene dieselbe bleibt.

Beispiel:

@Regler

öffentliche Klasse FlowersController

{

@RequestMapping („/rote-farbe/blumen“)

public String getAllFlowers(Model model)

{

//Anwendungscode

„Blumenliste“ zurückgeben;

}

12. @Qualifizierer

@Qualifier wird zusammen mit @Autowired verwendet, wenn mehr Kontrolle über den Abhängigkeitsinjektionsprozess benötigt wird. Die Annotation @Qualifier kann entweder für Methodenparameter oder einzelne Konstruktorargumente angegeben werden. Verwirrung entsteht normalerweise, wenn der Entwickler mehr als eine Bean des gleichen Typs erstellt, aber nur eine davon mit einer Eigenschaft verbunden werden muss. Die Annotation @Qualifier ist praktisch, um diese Verwirrung zu beseitigen.

Beispiel:

@Komponente

öffentliche Klasse BeanB1 implementiert BeanInterface {

//

}

@Komponente

öffentliche Klasse BeanB2 implementiert BeanInterface {

//

}

Im obigen Beispiel wird BeanInterface durch die beiden Beans BeanB1 und BeanB2 implementiert. Wenn nun BeanA diese Schnittstelle automatisch verdrahtet, wüsste Spring nicht, welche der beiden Implementierungen es einfügen sollte. Sie können dieses Problem mit der Annotation @Qualifier lösen. Wenn diese Anmerkung vorhanden ist, weiß Spring, welche Beans automatisch verdrahtet werden sollen.

@Komponente

öffentliche Klasse BeanA {

@Autowired

@Qualifizierer ("beanB2")

private BeanInterface-Abhängigkeit;

}

13. @Wert

Die Annotation @Value wird auf den Ebenen Feld, Methodenparameter und Konstruktorparameter verwendet. Es bezeichnet einen Standardwertausdruck für den Parameter oder das Feld, mit dem die Eigenschaft initialisiert wird.

14. @Faul

Die Annotation @Lazy wird auf die Komponentenklassen angewendet. Beim Start werden standardmäßig alle Autowired-Abhängigkeiten erstellt und konfiguriert. Aber die Annotation @Lazy kann verwendet werden, wenn der Entwickler eine Bean faul initialisieren möchte. Daher wird die Bean nur auf Anfrage erstellt und initialisiert. Die @Lazy-Annotation kann auch für @Configuration-Klassen verwendet werden, was bedeutet, dass alle @Bean-Methoden in dieser @Configuration träge initiiert werden.

Obwohl diese Liste von Anmerkungen zu Java Spring Boot nicht vollständig ist, deckt sie mehr oder weniger die grundlegendsten Anmerkungen ab, die jeder Entwickler oder Java-Enthusiast kennen sollte. Immerhin hat Spring Boot die Entwicklung von Spring-basierten Anwendungen vereinfacht und ist wissenswert.

Master of Science in Data Science von der Liverpool John Moores University

Wenn Sie ein aufstrebender Datenwissenschaftler sind, haben Sie hier die Gelegenheit, von den Besten zu lernen. upGrad bietet in Partnerschaft mit der Liverpool John Moores University einen Online-Master of Science in Data Science an, der speziell für Berufstätige entwickelt wurde, die ihre datenwissenschaftlichen Fähigkeiten und Kenntnisse verbessern möchten.

Hier einige Programmhighlights auf einen Blick:

  • Master-Abschluss von LJMU und Executive PGP von IIT Bangalore
  • Mehr als 500 Lernstunden voller Live-Sitzungen, Fallstudien und Projekten
  • Umfassende Abdeckung von über 14 Tools und Software
  • Drei einzigartige Spezialisierungen
  • 360-Grad engagierte Karriereunterstützung
  • Peer-Learning und Branchen-Networking

Die immersiven und branchenrelevanten Lernprogramme von upGrad haben über 500.000 Berufstätige weltweit beeinflusst und setzen weiterhin hohe Standards in der höheren EdTech-Branche. Bewerben Sie sich noch heute und schließen Sie sich der über 40.000 Lernenden weltweit an, die über 85 Länder verteilt sind!

Lernen Sie Data Science-Kurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Was ist der Zweck des Spring Boot-Starters?

Spring Boot-Starter sind Abhängigkeitsdeskriptoren, die das Hinzufügen von JAR-Dateien im Klassenpfad ermöglichen. Jeder Starter hat im Spring Boot-Framework das folgende Benennungsmuster: spring-boot-starter-*, wobei * für einen bestimmten Anwendungstyp steht.

Was ist der Unterschied zwischen @SpringBootApplication und @EnableAutoConfiguration?

Die Hauptaufgabe von @EnableAutoConfiguration besteht darin, die automatischen Konfigurationsfunktionen der Spring Boot-Anwendung zu aktivieren. Im Gegensatz dazu kombiniert @SpringBootApplication drei Annotationen – @ComponentScan für das Scannen von Komponenten, @Configuration für die Java-basierte Konfiguration im Spring-Framework und @EnableAutoConfiguration für die automatische Konfiguration in Spring Boot-Anwendungen.

Kann Spring Boot ohne SpringBootApplication ausgeführt werden?

Es ist nicht zwingend erforderlich, @SpringBootApplication zu verwenden, um eine Spring Boot-Anwendung zu erstellen. Sie können @EnableAutoConfiguration und @Configuration weiterhin einzeln verwenden.