Spring Boot ช่วยให้คุณสร้างแอปพลิเคชันและบริการระดับการผลิตที่ขับเคลื่อนด้วยสปริงโดยมีความยุ่งยากน้อยที่สุด ใช้มุมมองที่แสดงความคิดเห็นของแพลตฟอร์ม Spring เพื่อให้ผู้ใช้ใหม่และผู้ใช้ปัจจุบันสามารถเข้าถึงบิตที่ต้องการได้อย่างรวดเร็ว
คุณสามารถใช้ Spring Boot เพื่อสร้างแอปพลิเคชัน Java แบบสแตนด์อโลนที่สามารถเริ่มต้นได้โดยใช้ java -jar
หรือการปรับใช้ WAR แบบดั้งเดิม เรายังมีเครื่องมือบรรทัดคำสั่งที่เรียกใช้สคริปต์ Spring อีกด้วย
เป้าหมายหลักของเราคือ:
มอบประสบการณ์การเริ่มต้นใช้งานที่รวดเร็วและเข้าถึงได้อย่างกว้างขวางสำหรับการพัฒนา Spring ทั้งหมด
ยึดมั่นถือมั่น แต่หลีกทางให้เร็วเมื่อข้อกำหนดเริ่มแตกต่างจากค่าเริ่มต้น
นำเสนอคุณลักษณะที่ไม่สามารถใช้งานได้ทั่วไปสำหรับโปรเจ็กต์ประเภทขนาดใหญ่ (เช่น เซิร์ฟเวอร์แบบฝัง ความปลอดภัย ตัวชี้วัด การตรวจสอบสภาพ การกำหนดค่าภายนอก)
ไม่มีการสร้างโค้ดอย่างแน่นอนและไม่มีข้อกำหนดสำหรับการกำหนดค่า XML
เอกสารอ้างอิงประกอบด้วยคำแนะนำในการติดตั้งโดยละเอียดตลอดจนคู่มือ getting started
งานที่ครอบคลุม
นี่เป็นตัวอย่างสั้นๆ ของแอปพลิเคชัน Spring Boot ที่สมบูรณ์ใน Java:
import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.web.bind.annotation.*;@RestController@SpringBootApplicationpublic class ตัวอย่าง {@RequestMapping("/")String home( ) {กลับมา "สวัสดีชาวโลก!"; } โมฆะสาธารณะคงหลัก (สตริง [] args) {SpringApplication.run (Example.class, args); - -
คุณประสบปัญหากับ Spring Boot หรือไม่? เราต้องการช่วย!
ตรวจสอบเอกสารอ้างอิง โดยเฉพาะ How-to ซึ่งมีคำตอบสำหรับคำถามที่พบบ่อยที่สุด
เรียนรู้พื้นฐานของ Spring — Spring Boot สร้างขึ้นจากโปรเจ็กต์ Spring อื่นๆ อีกมากมาย ตรวจสอบเว็บไซต์ spring.io เพื่อดูเอกสารอ้างอิงมากมาย หากคุณยังใหม่กับ Spring ให้ลองใช้คำแนะนำข้อใดข้อหนึ่ง
หากคุณกำลังอัปเกรด โปรดอ่านบันทึกประจำรุ่นเพื่อดูคำแนะนำในการอัพเกรดและฟีเจอร์ "ใหม่และน่าจดจำ"
ถามคำถาม — เราตรวจสอบ stackoverflow.com เพื่อหาคำถามที่ติดแท็กด้วย spring-boot
คุณยังสามารถแชทกับชุมชนบน Gitter ได้อีกด้วย
รายงานข้อบกพร่องเกี่ยวกับ Spring Boot ได้ที่ github.com/spring-projects/spring-boot/issues
Spring Boot ใช้ระบบติดตามปัญหาแบบผสานรวมของ GitHub เพื่อบันทึกจุดบกพร่องและคำขอคุณสมบัติ หากคุณต้องการแจ้งปัญหา โปรดปฏิบัติตามคำแนะนำด้านล่าง:
ก่อนที่คุณจะบันทึกข้อบกพร่อง โปรดค้นหาตัวติดตามปัญหาเพื่อดูว่ามีคนรายงานปัญหาแล้วหรือไม่
หากไม่มีปัญหาอยู่แล้ว ให้สร้างปัญหาใหม่
โปรดให้ข้อมูลมากที่สุดเท่าที่จะเป็นไปได้พร้อมกับรายงานปัญหา เราต้องการทราบเวอร์ชัน Spring Boot ระบบปฏิบัติการ และเวอร์ชัน JVM ที่คุณใช้อยู่
หากคุณต้องการวางโค้ดหรือรวมการติดตามสแต็ก ให้ใช้ Markdown ``` หลบเลี่ยงก่อนและหลังข้อความของคุณ
หากเป็นไปได้ ให้ลองสร้างกรณีทดสอบหรือโครงการที่จำลองปัญหาและแนบไปกับปัญหา
คุณไม่จำเป็นต้องสร้างจากแหล่งที่มาเพื่อใช้ Spring Boot (ไบนารีใน repo.spring.io) แต่หากคุณต้องการทดลองใช้เวอร์ชันล่าสุดและยิ่งใหญ่ที่สุด คุณสามารถสร้างและเผยแพร่ Spring Boot ไปยังแคช Maven ในเครื่องของคุณได้โดยใช้ Gradle กระดาษห่อ คุณต้องมี JDK 17 ด้วย
$ ./gradlew เผยแพร่ToMavenLocal
สิ่งนี้จะสร้างขวดและเอกสารทั้งหมดและเผยแพร่ไปยังแคช Maven ในเครื่องของคุณ มันจะไม่ทำการทดสอบใดๆ หากคุณต้องการสร้างทุกอย่าง ให้ใช้งาน build
:
$ ./gradlew สร้าง
Spring Boot มีหลายโมดูล นี่คือภาพรวมโดยย่อ:
ไลบรารีหลักที่มีฟีเจอร์ที่รองรับส่วนอื่นๆ ของ Spring Boot ซึ่งรวมถึง:
คลาส SpringApplication
มอบวิธีการอำนวยความสะดวกแบบคงที่ที่สามารถใช้เพื่อเขียน Spring Application แบบสแตนด์อโลน งานเดียวของมันคือการสร้างและรีเฟรช Spring ApplicationContext
ที่เหมาะสม
เว็บแอปพลิเคชันแบบฝังพร้อมตัวเลือกคอนเทนเนอร์ (Tomcat, Jetty หรือ Undertow)
การสนับสนุนการกำหนดค่าภายนอกชั้นหนึ่ง
ตัวเริ่มต้น ApplicationContext
ที่สะดวกสบาย รวมถึงการสนับสนุนค่าเริ่มต้นการบันทึกที่สมเหตุสมผล
Spring Boot สามารถกำหนดค่าส่วนใหญ่ของแอปพลิเคชันทั่วไปตามเนื้อหาของคลาสพาธ คำอธิบายประกอบ @EnableAutoConfiguration
เดียวจะทริกเกอร์การกำหนดค่าบริบท Spring โดยอัตโนมัติ
ความพยายามในการกำหนดค่าอัตโนมัติเพื่อสรุปว่า bean ใดที่ผู้ใช้อาจต้องการ ตัวอย่างเช่น หาก HSQLDB
อยู่บน classpath และผู้ใช้ไม่ได้กำหนดค่าการเชื่อมต่อฐานข้อมูลใดๆ ก็อาจต้องการให้กำหนดฐานข้อมูลในหน่วยความจำ การกำหนดค่าอัตโนมัติจะถอยกลับเสมอเมื่อผู้ใช้เริ่มกำหนด bean ของตนเอง
Starters คือชุดของตัวอธิบายการขึ้นต่อกันที่สะดวกซึ่งคุณสามารถรวมไว้ในแอปพลิเคชันของคุณได้ คุณจะได้รับร้านค้าครบวงจรสำหรับ Spring และเทคโนโลยีที่เกี่ยวข้องทั้งหมดที่คุณต้องการ โดยไม่ต้องค้นหาโค้ดตัวอย่างและคัดลอกและวางตัวอธิบายการพึ่งพาจำนวนมาก ตัวอย่างเช่น หากคุณต้องการเริ่มต้นใช้งาน Spring และ JPA สำหรับการเข้าถึงฐานข้อมูล ให้รวมการพึ่งพา spring-boot-starter-data-jpa
ในโปรเจ็กต์ของคุณ เท่านี้คุณก็พร้อมแล้ว
ตำแหน่งข้อมูลของ Actuator ช่วยให้คุณสามารถตรวจสอบและโต้ตอบกับแอปพลิเคชันของคุณได้ Spring Boot Actuator จัดเตรียมโครงสร้างพื้นฐานที่จำเป็นสำหรับตำแหน่งข้อมูลของตัวกระตุ้น มันมีการสนับสนุนคำอธิบายประกอบสำหรับจุดสิ้นสุดของแอคชูเอเตอร์ โมดูลนี้มีจุดสิ้นสุดจำนวนมาก รวมถึง HealthEndpoint
, EnvironmentEndpoint
, BeansEndpoint
และอื่นๆ อีกมากมาย
ซึ่งจัดเตรียมการกำหนดค่าอัตโนมัติสำหรับจุดสิ้นสุดของแอคทูเอเตอร์โดยอิงตามเนื้อหาของคลาสพาธและชุดของคุณสมบัติ ตัวอย่างเช่น หากไมโครมิเตอร์อยู่บนคลาสพาธ ไมโครมิเตอร์จะกำหนดค่า MetricsEndpoint
โดยอัตโนมัติ มีการกำหนดค่าเพื่อแสดงจุดสิ้นสุดผ่าน HTTP หรือ JMX เช่นเดียวกับ Spring Boot AutoConfigure สิ่งนี้จะถอยกลับเมื่อผู้ใช้เริ่มกำหนด bean ของตนเอง
โมดูลนี้ประกอบด้วยรายการหลักและคำอธิบายประกอบที่อาจเป็นประโยชน์เมื่อทดสอบแอปพลิเคชันของคุณ
เช่นเดียวกับโมดูลการกำหนดค่าอัตโนมัติของ Spring Boot อื่นๆ spring-boot-test-autoconfigure ให้การกำหนดค่าอัตโนมัติสำหรับการทดสอบตาม classpath ประกอบด้วยคำอธิบายประกอบจำนวนมากที่สามารถกำหนดค่าส่วนของแอปพลิเคชันของคุณที่ต้องทดสอบได้โดยอัตโนมัติ
Spring Boot Loader มีซอสสูตรลับที่ช่วยให้คุณสามารถสร้างไฟล์ jar ไฟล์เดียวที่สามารถเปิดใช้งานได้โดยใช้ java -jar
โดยทั่วไปคุณไม่จำเป็นต้องใช้ spring-boot-loader
โดยตรง แต่ใช้งานได้กับปลั๊กอิน Gradle หรือ Maven แทน
โมดูล spring-boot-devtools มอบคุณสมบัติเวลาการพัฒนาเพิ่มเติม เช่น การรีสตาร์ทอัตโนมัติ เพื่อประสบการณ์การพัฒนาแอปพลิเคชันที่ราบรื่นยิ่งขึ้น เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จะถูกปิดใช้งานโดยอัตโนมัติเมื่อเรียกใช้แอปพลิเคชันที่ครบครัน
ไซต์ spring.io มีคำแนะนำหลายข้อที่แสดงวิธีใช้ Spring Boot ทีละขั้นตอน:
การสร้างแอปพลิเคชันด้วย Spring Boot เป็นคู่มือเบื้องต้นที่แสดงวิธีสร้างแอปพลิเคชัน เรียกใช้แอปพลิเคชัน และเพิ่มบริการการจัดการบางอย่าง
การสร้าง RESTful Web Service ด้วย Spring Boot Actuator เป็นแนวทางในการสร้างบริการเว็บ REST และยังแสดงวิธีกำหนดค่าเซิร์ฟเวอร์อีกด้วย
Spring Boot เป็นซอฟต์แวร์โอเพ่นซอร์สที่เผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0