Rumah > Java > javaTutorial > Spring-: Spring-Boot-Bootstrapping-Behind-the-Scenes

Spring-: Spring-Boot-Bootstrapping-Behind-the-Scenes

DDD
Lepaskan: 2025-01-29 16:13:08
asal
497 orang telah melayarinya

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

Aplikasi Boot Spring berada di belakang banyak langkah di belakang permulaan.

I. Spring Boot Application Step

<.> 1.1 JVM Startup dan beban kelas utama

Java Virtual Machine (JVM) bermula dan memuat kelas utama yang mengandungi kaedah

.
  • public static void main(String[] args) <.> 1.2 Pelaksanaan
  • Kaedah

SpringApplication.run() Jalankan kaedah untuk memulakan aplikasi Boot Spring. Ini adalah titik masuk untuk semua aplikasi boot musim bunga.

    <.> 1.3 Inisialisasi
  • SpringApplication.run()

inisialisasi, termasuk: SpringApplication Jenis Permohonan Penghakiman (Web atau Non -Web).

Muatkan konfigurasi aplikasi dan atribut alam sekitar.
  • Sediakan untuk konteksnya. SpringApplication
    • <.> 1.4 Sediakan
  • Buat konteks aplikasi musim bunga, sebagai kacang pengurusan kontena, konfigurasi dan kebergantungan.

Jika ia adalah aplikasi web, gunakan konteks berdasarkan perkhidmatan (seperti ). ApplicationContext

<.> 1.5 LOAD
  • AnnotationConfigServletWebServerApplicationContext Muatkan Bean
  • yang berdaftar (ubah konteks sebelum konteks dimulakan).

<.> 1.6 Mengesan dan memohon ApplicationContextInitializer

  • imbasan musim bunga dan memuatkan sebarang pelaksanaan ApplicationContextInitializer, yang membolehkan pendengar luaran menerima pemberitahuan permulaan aplikasi.

<.> 1.7 Menyediakan persekitaran (atribut, fail konfigurasi dan konfigurasi) SpringApplicationRunListener

beban pembolehubah persekitaran,
    atau
  • dan parameter baris perintah. SpringApplicationRunListener
  • Tentukan aktiviti dan fail konfigurasi lalai.

<.> 1.8 Refresh konteks

  • konteksnya benar -benar segar, termasuk: application.properties application.yml tali pinggang pengimbasan termasuk kategori
  • ,
  • ,
  • dan
anotasi.

Bean instantiated dan menguruskan kitaran hidupnya.

Suntikan ketergantungan aplikasi dan hubungan ketergantungan analisis.
    • @Component <.> 1.9 Mulakan pelayan web tertanam (jika berkenaan) @Service @Repository @Controller
    • Jika ia adalah aplikasi web, Spring Boot secara automatik memulakan pelayan web tertanam (Tomcat, Jeti atau Undertow).
    • Monitor pelayan web Permintaan lulus port yang ditentukan.
    <.> 1.10 Jalankan
  • dan Bean

Jika ada kacang

atau
    , mereka melaksanakannya.
  • Kacang ini digunakan untuk menjalankan logik permulaan selepas permohonan bermula.
<.> 1.11 pencetus

insiden CommandLineRunner

  • Pencetus acara, menunjukkan bahawa aplikasi telah dimulakan sepenuhnya dan disediakan untuk permintaan itu. ApplicationReadyEvent
<.> 1.12 Simpan operasi aplikasi (untuk aplikasi web)

Untuk aplikasi web, aplikasi terus berjalan, menunggu permintaan HTTP diperkenalkan.
  • untuk aplikasi bukan -web, keluar selepas menjalankan logik permulaan.
  • 2. Pesanan pelaksanaan logik: gambaran ringkas

Untuk mengingati proses permulaan, ia boleh dianggap sebagai tiga peringkat utama:

1

JVM Mulakan permohonan.

Jalankan .

Sediakan persekitaran dan konfigurasi.
  • 2
  • SpringApplication.run() Buat dan muat semula konteksnya.
  • imbas, buat dan suntikan kacang.
Jika ia adalah aplikasi web, mulakan pelayan tertanam.

3 3 selepas bermula,

  • Jalankan dan
  • .
  • Permohonan ini berjalan sepenuhnya dan menunggu permintaan. ?

Atas ialah kandungan terperinci Spring-: Spring-Boot-Bootstrapping-Behind-the-Scenes. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan