Rumah > Java > javaTutorial > teks badan

Apakah sebab mengapa SpringBoot bermula dengan perlahan?

WBOY
Lepaskan: 2023-05-17 11:01:26
ke hadapan
3958 orang telah melayarinya

    Sebab SpringBoot bermula perlahan

    Senibina Spring Boot adalah perkara biasa sehingga jika anda tidak menguasainya, kadangkala anda malu untuk berkata bahawa anda terlibat dalam Java Work. Tetapi ia adalah kebakaran, dan terdapat beberapa masalah kecil yang perlu kita perhatikan.

    Jika ia adalah projek tunggal dan tiada keperluan dari segi kelajuan permulaan, sila abaikan.

    Mari kita ke topik, dalam keadaan apakah permulaan projek but spring akan menjadi perlahan?

    Prasyarat

    Konfigurasi perkakasan mesin projek permulaan tidak boleh ditangguhkan, jika tidak anda akan mengatakan bahawa projek Permulaan adalah perlahan, dan projek itu masih merasakan bahawa mesin itu tidak baik...

    Sebagai contoh, rangkaian, saiz memori, bilangan teras CPU, dll. Ia tidak memerlukan untuk menjadi terlalu tinggi, sekurang-kurangnya ia sepatutnya cukup

    Buang semua jenis Faktor buatan seperti masa sambungan yang lama dan permulaan komponen lain yang perlahan membawa kepada menunggu...

    Sebab 1

    Terlalu banyak konfigurasi tidak berguna digunakan dalam projek. Sebagai contoh, dalam web yang paling mudah, anda juga telah menambah pelbagai konfigurasi maven lain dan mengkonfigurasinya ke dalam projek (ini hanyalah contoh yang dibesar-besarkan, konfigurasi ini tidak diperlukan), dan kemudian projek itu sendiri tidak memahaminya Sejak anda mengkonfigurasinya , kemudian muatkannya.

    Satu mengambil masa 0.1 saat, 10 mengambil masa 1 saat, 100 mengambil masa 10 saat...dan seterusnya Ini adalah perkara yang paling mudah untuk difahami.

    Sebab 2

    Konfigurasi automatik but spring. Walaupun konfigurasi automatik adalah kemuncak Spring Boot, ia juga merupakan kelemahan yang membawa kepada masa permulaan yang perlahan.

    Tidak mengapa, biasanya sesuatu yang mudah digunakan dan mempunyai fungsi penuh akan sentiasa mempunyai kelemahan di sesetengah tempat.

    Seperti yang dinyatakan di atas, terdapat banyak konfigurasi yang tidak berguna Apa yang saya ingin katakan di sini ialah but spring memasang terlalu banyak perkara dengan sendirinya.

    Anda boleh melihat bahawa dalam pakej balang spring boot yang berkaitan, fail spring.factories disimpan Apabila anda melihat ke dalam, anda dapat melihat bahawa kebanyakannya telah menulis banyak kelas, yang melaksanakannya pemasangan automatik but spring Salah satu teras.

    Tetapi jika anda melihat dengan teliti, anda akan mendapati bahawa sebenarnya terdapat banyak kategori yang mungkin anda tidak gunakan langsung.

    Tetapi apa yang boleh anda lakukan sama ada anda menggunakannya atau tidak, sekurang-kurangnya ia akan menyemaknya untuk anda.

    Sebab 3

    Projek ini tidak cukup diselaraskan. Konsep perkhidmatan mikro agak popular sekarang, saya rasa makna terasnya ialah kesederhanaan dan kesederhanaan, dan kebanyakan tempat yang perlu menekankan kelajuan permulaan kebanyakannya dalam projek perkhidmatan mikro.

    Dalam projek perkhidmatan mikro, yang terbaik adalah untuk memulakannya dalam masa 10 saat. Tetapi kebanyakan mereka tidak dapat melakukannya kerana projek-projek tidak dibahagikan kepada butiran yang cukup.

    Sama ada satu antara muka lebih cepat untuk dimulakan, atau 10, atau lebih, jawapannya adalah jelas. Banyak projek adalah besar dan komprehensif Apa yang dipanggil besar dan komprehensif bermakna terdapat banyak fungsi, konfigurasi lengkap, pelbagai konfigurasi boleh dikembangkan, dll. Ia mungkin tidak menyeluruh, tetapi apakah maksudnya. Tidak kira sama ada ia berguna atau tidak Sekurang-kurangnya akan ada lebih banyak fail kelas yang perlu disusun dan dimuatkan. Anda berkata anda mahu projek sebegitu cepat dimulakan.

    Penyelesaian

    • Periksa sama ada terdapat terlalu banyak kebergantungan tidak berguna dalam maven

    • Ia lebih rumit, gunakan spring-boot -maven Mulakan nyahpepijat pemalam, semak konfigurasi yang digunakan dalam projek dan konfigurasi yang tidak berguna, kemudian nyatakan dalam kelas permulaan bahawa hanya kelas yang digunakan akan dimulakan, padamkan anotasi @SpringBootApplication dan isikan secara manual @Configuration dan @Import anotasi , dan tambahkan kelas yang dikonfigurasikan tersebut dalam anotasi @Import.

    • Ganti beberapa kebergantungan dengan konfigurasi yang lebih pantas. Sebagai contoh, anda menggunakan kumpulan sambungan pangkalan data, yang mempunyai fungsi penuh dan banyak konfigurasi, tetapi lebih perlahan Namun, sebenarnya, kumpulan sambungan B juga boleh memenuhi keperluan projek, tetapi mempunyai fungsi yang agak sedikit, jadi terdapat kurang konfigurasi dan lebih cepat. permulaan. Adakah anda perlu Anda harus memilih satu antara A dan B.

    • Pisah projek yang lebih diperkemas untuk dijalankan secara bebas. Besar dan komprehensif bermakna lebih tetapi tidak halus, ramping dan ringkas bermakna kurang tetapi cekap.

    Cara meningkatkan kelajuan permulaan aplikasi SpringBoot

    Sempitkan skop kelas pengimbasan @ComponentScan dan @SpringBootApplication

    Matikan Spring Boot Pemantauan JMX. Tetapkan spring.jmx.enabled=false

    3 Tetapkan parameter JVM -noverify dan jangan sahkan kelas

    4 🎜>

    5 Gunakan Spring Boot's global lazy loading

    6 Cuba untuk tidak menggunakan anotasi untuk aspek AOP, yang akan menyebabkan semua kaedah diimbas semasa permulaan

    7 beberapa fungsi pemantauan titik akhir

    8 Kecualikan kebergantungan balang yang tidak perlu bagi projek

    9 Apabila kesombongan mengimbas antara muka, tentukan untuk mengimbas hanya kelas di bawah laluan tertentu

    10. .

    Atas ialah kandungan terperinci Apakah sebab mengapa SpringBoot bermula dengan perlahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    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