Apa itu penyebaran
Semua orang tahu bahwa selama pengembangan proyek, data halaman atau struktur data sering diubah. Untuk menampilkan efek perubahan, Anda sering perlu memulai kembali aplikasi untuk melihat efek perubahan. Bahkan, ini adalah file kelas baru yang dikompilasi ulang dan dihasilkan. File ini mencatat berbagai informasi yang sesuai dengan kode, dan kemudian file kelas akan dimuat oleh classloader mesin virtual.
Penyebaran panas memanfaatkan fitur ini. Ini mendengarkan fakta bahwa jika file kelas diubah, itu akan membuat ClassLoader baru untuk memuat file. Setelah serangkaian proses, hasilnya akhirnya akan disajikan kepada kami.
Mekanisme pemuatan kelas
Kompiler dapat mengkompilasi kode ke dalam file kelas yang menyimpan bytecode. File kelas menyimpan berbagai informasi dan pada akhirnya akan dimuat ke mesin virtual untuk menjalankan dan digunakan. Mekanisme pemuatan kelas (dikutip dari "pemahaman mendalam tentang mesin virtual java") mesin virtual memuat data yang menggambarkan kelas dari file kelas ke dalam memori, dan memeriksa, mengonversi, memarsel dan menginisialisasi data, dan akhirnya membentuk jenis Java yang dapat digunakan secara langsung oleh mesin virtual.
Spring Boot mengimplementasikan penyebaran panas
Spring Boot mengimplementasikan penyebaran panas dengan cara berikut:
Pegas dimuat
Metode ini dimuat dalam bentuk plug-in maven, sehingga mulai menggunakan perintah mvn mvn spring-boot:run saat memulai, tetapi mulai menggunakan application.run. Ini tidak valid karena mekanisme plug-in Maven telah dilewati saat memulai aplikasi.
Metode integrasi pom:
<build> <lugin> <lugin> <groupId> org.springframework.boot </plorgid> <t ArtifactId> Spring-boot-maven-plugin </t Artifactid> <dependencies> <ArtentD> <Roupid> org.springframework </groupid> <ArtiFactid> <conperence> <conperence> version </groupid> <ArtiFactid> <conperence> version </version> </groupid> <Arttifactid> Springidence </Artidsid </version.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2. </lugin> </lugin> </lugin> </bangun>
Spring-Boot-Devtools
Metode ini dapat digunakan untuk memulai kembali aplikasi setelah memodifikasi file.
Integrasi Pom:
<!-Modul Penyebaran Panas-> <dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-devtools </artifactid> <pilihan> true </opsional> <!-Ini membutuhkan penempatan panas yang sebenarnya untuk menjadi efektif-> </dependensi>
Perhatian integrasi
#Shield Thymeleaf Cache (Saran: Lingkungan pengembangan diatur ke false, lingkungan generasi diatur ke true) spring.thymeleaf.cache = false
1. Untuk DevTools, Anda dapat menentukan direktori atau mengecualikan direktori untuk penyebaran panas.
#File yang menambahkan direktori itu memerlukan restartspring.devtools.restart.additional-paths = src/main/java#file yang tidak termasuk direktori itu tidak memerlukan restartspring.devtools.restart.exclude = static/**, publik/**
Tetapkan Ide untuk Mengaktifkan Modifikasi File untuk secara otomatis memulai kembali proyek
1. Temukan Preferensi Ide -> Bangun, Eksekusi, Penyebaran -> Kompiler, Periksa Proyek Build secara otomatis
2. Kembali ke antarmuka ide normal. Gunakan shortcut key shift+opsi+perintah+/ untuk mac. Kunci pintasan pada jendela adalah Shift+Ctrl+Alt+/. Buka registri dan periksa.
compiler.automake.allow.when.app.runningcompiler.automake.allow.when.app.running
Melalui pengaturan di atas, Anda dapat memuat HTML tanpa memulai kembali layanan, tetapi jika Anda memodifikasi file Java, layanan akan secara otomatis restart dalam beberapa detik. Jika Anda tidak ingin layanan restart, Anda perlu menambahkan spring.devtools.reatart.enable = false di application.properties atau application.yml.
Meringkaskan
Di atas adalah penyebaran panas Spring Boot Spring-boot-devtools yang diperkenalkan oleh editor kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!