Heim > Java > javaLernprogramm > Spring-: Frühlingsboot-Bootstrapping-Behind-the-Kuldene

Spring-: Frühlingsboot-Bootstrapping-Behind-the-Kuldene

DDD
Freigeben: 2025-01-29 16:13:08
Original
499 Leute haben es durchsucht

spring-: spring-boot-bootstrapping-behind-the-scenes

Spring -Boot -Anwendungen stehen hinter dem Start hinter viele Schritte.

I. Spring Boot Application Schritt

<.> 1.1 JVM -Start und die Hauptklassenlast

Java Virtual Machine (JVM) startet und lädt die Hauptklasse, die die

-Methode enthält.
  • public static void main(String[] args) <.> 1.2 Ausführung
  • Methode

SpringApplication.run() Führen Sie die Methode aus, um die Spring -Boot -Anwendung zu starten. Dies ist der Eingangspunkt für alle Springstiefelanwendungen.

    <.> 1.3 Initialisierung
  • SpringApplication.run()

Initialisierung, einschließlich: SpringApplication Beurteilungsantragstyp (Web oder Nicht -Web).

Konfiguration und Umgebungsattribute für die Anwendungskonfiguration und Umgebungsattribute laden.
  • Bereiten Sie sich auf den Kontext vor. SpringApplication
    • <.> 1.4 Bereiten Sie
    • vor
  • Erstellen Sie den Kontext der Spring -Anwendung als Containerverwaltungsbean, Konfiguration und Abhängigkeiten.

Wenn es sich um eine Webanwendung handelt, verwenden Sie den Kontext basierend auf dem Dienst (z. B. ). ApplicationContext

<.> 1.5 laden
  • AnnotationConfigServletWebServerApplicationContext Laden Sie das registrierte
  • bean (ändern Sie den Kontext, bevor der Kontext gestartet wurde).

<.> 1.6 Erkennen und Anwenden ApplicationContextInitializer

  • Spring -Scan und laden Sie eine ApplicationContextInitializer -implementierung, sodass externe Hörer Anwendungsstartbenachrichtigungen erhalten können.

<.> 1.7 Vorbereitung der Umgebung (Attribute, Konfigurationsdateien und Konfiguration) SpringApplicationRunListener

Umgebungsvariablen,
    oder
  • und Befehlszeilenparameter laden. SpringApplicationRunListener
  • Bestimmen Sie die Aktivität und die Standardkonfigurationsdatei.

<.> 1.8 Aktualisieren Sie den Kontext

  • Der Kontext ist vollständig aktualisiert, einschließlich: application.properties application.yml Scangürtel enthält Kategorien von
  • ,
  • ,
  • und
Annotationen.

instanziierte Bohne und verwalten Sie seinen Lebenszyklus.

Injektion von Anwendungsabhängigkeit und analytische Abhängigkeit.
    • @Component <.> 1.9 Starten Sie den eingebetteten Webserver (falls zutreffend) @Service @Repository @Controller
    • Wenn es sich um eine Webanwendung handelt, startet Spring Boot den eingebetteten Webserver automatisch (Tomcat, Jetty oder Totow).
    • Webserver Überwachen Sie die Übergabeanforderung des angegebenen Ports.
    <.> 1.10 Ausführen
  • und
bean

Wenn es eine Bohne von
    oder
  • gibt, führen sie sie aus.
  • Diese Bohnen werden verwendet, um die Initialisierungslogik nach Beginn der Anwendung auszuführen.

<.> 1.11 Auslöser Vorfall CommandLineRunner ApplicationRunner

  • Auslöser Ereignis, was darauf hinweist, dass die Anwendung vollständig gestartet und für die Anforderung vorbereitet wurde. ApplicationReadyEvent
<.> 1.12 den Anwendungsbetrieb halten (für Webanwendungen)

Für Webanwendungen wird die Anwendung weiter ausgeführt und wartet auf die Einführung der HTTP -Anfrage.
  • für Nicht -Web -Anwendungen beenden Sie nach Ausführung der Initialisierung der Initialisierung.
  • 2. Logikausführungsreihenfolge: Kurzübersicht

Um sich an den Startprozess zu erinnern, kann er als drei Hauptstufen angesehen werden:

1️🎜 Während der Leitstufe

JVM starten Sie die Anwendung.

Führen Sie aus.
  • Umgebung und Konfiguration vorbereiten.
  • SpringApplication.run() 2️🎜 Die Initialisierungsstufe des Kontextes
Erstellen und aktualisieren Sie den Kontext.

scannen, erstellen und injizieren Sie Bean.

Wenn es sich um eine Webanwendung handelt, starten Sie den eingebetteten Server.
  • 3️🎜 nach dem Start,
  • Führen Sie und
aus.

Die Anwendung wird vollständig ausgeführt und auf die Anfrage warten. ?

Das obige ist der detaillierte Inhalt vonSpring-: Frühlingsboot-Bootstrapping-Behind-the-Kuldene. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage