การปรับใช้ที่ร้อนแรงคืออะไร
ทุกคนรู้ว่าในระหว่างการพัฒนาโครงการข้อมูลหน้าหรือโครงสร้างข้อมูลมักจะเปลี่ยนไป ในการแสดงเอฟเฟกต์การเปลี่ยนแปลงคุณมักจะต้องรีสตาร์ทแอปพลิเคชันเพื่อดูเอฟเฟกต์การเปลี่ยนแปลง ในความเป็นจริงมันเป็นไฟล์คลาสใหม่ที่มีการคอมไพล์ใหม่และสร้างขึ้น ไฟล์นี้บันทึกข้อมูลต่าง ๆ ที่สอดคล้องกับรหัสจากนั้นไฟล์คลาสจะถูกโหลดโดย classloader ของเครื่องเสมือน
การปรับใช้ Hot ใช้ประโยชน์จากคุณสมบัตินี้ มันรับฟังความจริงที่ว่าหากไฟล์คลาสมีการเปลี่ยนแปลงมันจะสร้าง classloader ใหม่เพื่อโหลดไฟล์ หลังจากชุดของกระบวนการผลลัพธ์จะถูกนำเสนอให้เราในที่สุด
กลไกการโหลดคลาส
คอมไพเลอร์สามารถรวบรวมรหัสลงในไฟล์คลาสที่จัดเก็บ bytecode ไฟล์คลาสเก็บข้อมูลต่าง ๆ และในที่สุดจะถูกโหลดลงในเครื่องเสมือนสำหรับการรันและใช้ กลไกการโหลดคลาส (ข้อความที่ตัดตอนมาจาก "ความเข้าใจในเชิงลึกของเครื่องเสมือน Java") เครื่องเสมือนโหลดข้อมูลที่อธิบายคลาสจากไฟล์คลาสลงในหน่วยความจำและตรวจสอบแปลงแปลงวิเคราะห์และเริ่มต้นข้อมูล
Spring Boot ใช้การปรับใช้ที่ร้อนแรง
Spring Boot ใช้การปรับใช้ที่ร้อนแรงในรูปแบบต่อไปนี้:
สปริงโหลด
วิธีนี้โหลดในรูปแบบของปลั๊กอิน Maven ดังนั้นจึงเริ่มใช้คำสั่ง maven mvn spring-boot:run เมื่อเริ่มต้น แต่มันเริ่มใช้ application.run มันไม่ถูกต้องเนื่องจากกลไกปลั๊กอิน Maven ได้รับการข้ามเมื่อเริ่มต้นแอปพลิเคชัน
วิธีการรวม POM:
<สร้าง> <plugins> <plugin> <molin> <molin> <roupId> org.springframework.boot </groupid> <ratifactid> Spring-Boot-Maven-Plugin </artifactid> <pendencies> </derctency> </plugin> </plugin> </plugins> </uffer>
ฤดูใบไม้ผลิ
วิธีนี้สามารถใช้เพื่อรีสตาร์ทแอปพลิเคชันหลังจากแก้ไขไฟล์
การรวม POM:
<!-โมดูลการปรับใช้ HOT-> <การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-devtools </artifactid>
ความสนใจบูรณาการ
#shield thymeleaf cache (ข้อเสนอแนะ: สภาพแวดล้อมการพัฒนาถูกตั้งค่าเป็นเท็จสภาพแวดล้อมการสร้างถูกตั้งค่าเป็นจริง) Spring.thymeleaf.cache = false
1. สำหรับ Devtools คุณสามารถระบุไดเรกทอรีหรือยกเว้นไดเรกทอรีสำหรับการปรับใช้ที่ร้อนแรง
#ไฟล์ที่เพิ่มไดเรกทอรีนั้นต้องใช้รีสตาร์ทสพริง
ตั้งค่าแนวคิดเพื่อเปิดใช้งานการปรับเปลี่ยนไฟล์เพื่อรีสตาร์ทโครงการโดยอัตโนมัติ
1. ค้นหาการตั้งค่าความคิด -> บิล
2. กลับไปที่อินเทอร์เฟซปกติของแนวคิด ใช้คีย์ลัดตัวเลือก+ตัวเลือก+คำสั่ง+/ สำหรับ Mac ปุ่มลัดบนหน้าต่างคือ Shift+Ctrl+Alt+/ เปิดรีจิสทรีและตรวจสอบ
compiler.automake.allow.when.app.runningcompiler.automake.allow.when.app.running
ผ่านการตั้งค่าข้างต้นคุณสามารถโหลด HTML ได้โดยไม่ต้องรีสตาร์ทบริการ แต่ถ้าคุณแก้ไขไฟล์ Java บริการจะรีสตาร์ทโดยอัตโนมัติภายในไม่กี่วินาที หากคุณไม่ต้องการให้บริการรีสตาร์ทคุณต้องเพิ่ม Spring.devtools.reatart.enable = False ใน Application.properties หรือ Application.yml
สรุป
ข้างต้นคือการปรับใช้อย่างร้อนแรงของสปริงบูตสปริงบู๊ท-ดีฟทูลส์ที่บรรณาธิการแนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!