Spring Boot ตั้งเป้าให้พร้อมสำหรับการผลิตตามค่าเริ่มต้น ซึ่งหมายความว่าจะจัดส่งโดยค่าเริ่มต้นที่มีประโยชน์ซึ่งอาจถูกแทนที่ได้ หากจำเป็น ตามค่าเริ่มต้น Spring Boot มี Apache Tomcat build.
Tomcat ฝังตัวอยู่ใน boot boot หรือไม่
หลาย สปริงบูต starters รวมคอนเทนเนอร์แบบฝังเริ่มต้น สำหรับแอปพลิเคชันสแต็กเซิร์ฟเล็ต spring-boot-starter-web จะรวม Tomcat โดยการรวม spring-boot-starter-tomcat แต่คุณสามารถใช้ spring-boot-starter-jetty หรือ spring-boot-starter-undertow แทนได้
ทำไมสปริงบูทถึงฝัง Tomcat
ตัวอย่างเช่น สำหรับแอปพลิเคชัน Spring Boot คุณสามารถ สร้าง jar แอปพลิเคชัน ซึ่งมี Embedded Tomcat คุณสามารถเรียกใช้เว็บแอปพลิเคชันเป็นแอปพลิเคชัน Java ปกติได้! เซิร์ฟเวอร์ฝังตัวบ่งบอกว่าหน่วยที่ปรับใช้ได้ของเรามีไบนารีสำหรับเซิร์ฟเวอร์ (ตัวอย่าง Tomcat. jar)
การบูทสปริงแบบฝัง Tomcat ทำงานอย่างไร
สปริงบูทมีแมวตัวผู้ที่สมบูรณ์อยู่ข้างใน มัน สร้างขวดโหลที่มีทุกอย่างที่จำเป็นข้างใน คุณไม่จำเป็นต้องติดตั้ง Tomcat ในระบบของคุณ BTW: Spring Boot ยังรองรับแอปพลิเคชันเซิร์ฟเวอร์อื่นๆ เช่น Jetty
สปริงบูตวิ่งโดยไม่มี Tomcat ได้ไหม
การบูตสปริงจะไม่รวม Tomcat ที่ฝังอยู่ หากคุณไม่มีการพึ่งพา Tomcat บน classpath คุณสามารถดูข้อเท็จจริงนี้ได้ด้วยตัวเองที่คลาส EmbeddedServletContainerAutoConfiguration ซึ่งคุณสามารถหาแหล่งที่มาได้ที่นี่