Spring Boot - Einführung

Spring Boot ist ein Open Source Java-basiertes Framework, mit dem ein Mikrodienst erstellt wird. Es wurde vom Pivotal Team entwickelt und wird verwendet, um eigenständige und serienreife Federanwendungen zu erstellen. Dieses Kapitel gibt Ihnen eine Einführung in Spring Boot und macht Sie mit den grundlegenden Konzepten vertraut.

Was ist Micro Service?

Micro Service ist eine Architektur, mit der Entwickler Services unabhängig voneinander entwickeln und bereitstellen können. Jeder ausgeführte Dienst verfügt über einen eigenen Prozess. Dadurch wird das einfache Modell zur Unterstützung von Geschäftsanwendungen erreicht.

Vorteile

Micro Services bietet seinen Entwicklern folgende Vorteile:

  • Einfache Bereitstellung
  • Einfache Skalierbarkeit
  • Kompatibel mit Containern
  • Minimale Konfiguration
  • Geringere Produktionszeit

Was ist Spring Boot?

Spring Boot bietet Java-Entwicklern eine gute Plattform, um eine eigenständige und produktionsfähige Spring-Anwendung zu entwickeln, die Sie können just run. Sie können mit minimalen Konfigurationen beginnen, ohne dass ein komplettes Spring-Konfigurationssetup erforderlich ist.

Vorteile

Spring Boot bietet seinen Entwicklern die folgenden Vorteile:

  • Einfach zu verstehende und zu entwickelnde Federanwendungen
  • Steigert die Produktivität
  • Reduziert die Entwicklungszeit

Tore

Spring Boot wurde mit folgenden Zielen entwickelt:

  • So vermeiden Sie komplexe XML-Konfigurationen im Frühjahr
  • Einfachere Entwicklung produktionsbereiter Federanwendungen
  • So reduzieren Sie die Entwicklungszeit und führen die Anwendung unabhängig aus
  • Bieten Sie einen einfacheren Einstieg in die Anwendung

Warum Spring Boot?

Sie können Spring Boot aufgrund der hier angegebenen Funktionen und Vorteile auswählen -

  • Es bietet eine flexible Möglichkeit, Java Beans, XML-Konfigurationen und Datenbanktransaktionen zu konfigurieren.

  • Es bietet eine leistungsstarke Stapelverarbeitung und verwaltet REST-Endpunkte.

  • In Spring Boot wird alles automatisch konfiguriert. Es sind keine manuellen Konfigurationen erforderlich.

  • Es bietet eine annotationsbasierte Federanwendung

  • Erleichtert das Abhängigkeitsmanagement

  • Es enthält eingebetteten Servlet-Container

Wie funktioniert es?

Spring Boot konfiguriert Ihre Anwendung automatisch basierend auf den Abhängigkeiten, die Sie mithilfe von zum Projekt hinzugefügt haben @EnableAutoConfigurationAnmerkung. Wenn sich beispielsweise die MySQL-Datenbank in Ihrem Klassenpfad befindet, Sie jedoch keine Datenbankverbindung konfiguriert haben, konfiguriert Spring Boot automatisch eine speicherinterne Datenbank.

Der Einstiegspunkt der Spring Boot-Anwendung ist die Klasse, die sie enthält @SpringBootApplication Anmerkung und die Hauptmethode.

Spring Boot scannt automatisch alle im Projekt enthaltenen Komponenten mithilfe von @ComponentScan Anmerkung.

Spring Boot Starter

Die Handhabung des Abhängigkeitsmanagements ist eine schwierige Aufgabe für große Projekte. Spring Boot behebt dieses Problem, indem Entwickler eine Reihe von Abhängigkeiten bereitstellen.

Wenn Sie beispielsweise Spring und JPA für den Datenbankzugriff verwenden möchten, ist dies ausreichend, wenn Sie einschließen spring-boot-starter-data-jpa Abhängigkeit in Ihrem Projekt.

Beachten Sie, dass alle Spring Boot-Starter dem gleichen Namensmuster folgen spring-boot-starter- *, wobei * angibt, dass es sich um einen Anwendungstyp handelt.

Beispiele

Schauen Sie sich zum besseren Verständnis die folgenden Spring Boot-Starter an, die unten erläutert werden:

Spring Boot Starter Actuator dependencywird verwendet, um Ihre Anwendung zu überwachen und zu verwalten. Sein Code ist unten gezeigt -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Boot Starter Security dependencywird für Spring Security verwendet. Sein Code ist unten gezeigt -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Boot Starter web dependencywird verwendet, um Rest-Endpunkte zu schreiben. Sein Code ist unten gezeigt -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot Starter Thyme Leaf dependencywird zum Erstellen einer Webanwendung verwendet. Sein Code ist unten gezeigt -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test dependencywird zum Schreiben von Testfällen verwendet. Sein Code ist unten gezeigt -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

Automatische Konfiguration

Die automatische Spring Boot-Konfiguration konfiguriert Ihre Spring-Anwendung automatisch basierend auf den JAR-Abhängigkeiten, die Sie im Projekt hinzugefügt haben. Wenn sich beispielsweise die MySQL-Datenbank in Ihrem Klassenpfad befindet, Sie jedoch keine Datenbankverbindung konfiguriert haben, konfiguriert Spring Boot automatisch eine speicherinterne Datenbank.

Zu diesem Zweck müssen Sie hinzufügen @EnableAutoConfiguration Anmerkung oder @SpringBootApplicationAnmerkung zu Ihrer Hauptklassendatei. Anschließend wird Ihre Spring Boot-Anwendung automatisch konfiguriert.

Beachten Sie zum besseren Verständnis den folgenden Code:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Spring Boot-Anwendung

Der Einstiegspunkt der Spring Boot-Anwendung ist die Klasse, die sie enthält @SpringBootApplicationAnmerkung. Diese Klasse sollte die Hauptmethode zum Ausführen der Spring Boot-Anwendung haben.@SpringBootApplication Die Annotation umfasst die automatische Konfiguration, den Komponentenscan und die Spring Boot-Konfiguration.

Wenn Sie hinzugefügt haben @SpringBootApplication Anmerkung zur Klasse, Sie müssen die nicht hinzufügen @EnableAutoConfiguration, @ComponentScan und @SpringBootConfigurationAnmerkung. Das@SpringBootApplication Annotation enthält alle anderen Annotationen.

Beachten Sie zum besseren Verständnis den folgenden Code:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Komponentenscan

Die Spring Boot-Anwendung überprüft alle Beans und Paketdeklarationen, wenn die Anwendung initialisiert wird. Sie müssen das hinzufügen@ComponentScan Anmerkung für Ihre Klassendatei zum Scannen Ihrer in Ihrem Projekt hinzugefügten Komponenten.

Beachten Sie zum besseren Verständnis den folgenden Code:

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}