คำนำ
เมื่อเรียนรู้เทคโนโลยีใหม่ไม่ต้องกังวลเกี่ยวกับหลักการกระบวนการวิธีการจัดระเบียบรหัส ฯลฯ เพียงแค่คัดลอกตัวอย่างเล็ก ๆ จากเว็บไซต์หรือบล็อกอย่างเป็นทางการเรียกใช้ตัวเองแล้วอ่านคำอธิบายมากมายที่ทำให้คนรู้สึกเสียวซ่าและคุณจะเข้าใจง่าย
ขณะนี้มีบทความเบื้องต้นมากมายเกี่ยวกับการบูตฤดูใบไม้ผลิบนอินเทอร์เน็ตซึ่งทั้งหมดมีประโยชน์มาก ฉันได้เรียนคลาวด์ฤดูใบไม้ผลิในเชิงลึกเมื่อเร็ว ๆ นี้ เมื่อฉันสร้างโปรแกรม Hello World แรกฉันรู้สึกว่าสำหรับสามเณรมันไม่ได้เป็นการพูดเกินจริงที่จะแนะนำบทความโดยละเอียด เนื่องจากมีข้อผิดพลาดมากมายฉันจะโพสต์ขั้นตอนของการฝึกฝนครั้งแรกที่นี่เพื่อดำเนินการกับทุกคน
1. Maven คืออะไร? มันช่วยอะไรได้บ้าง?
เมื่อเราใช้ Eclipse เพื่อพัฒนาโครงการเราจะแนะนำแพ็คเกจ JAR ที่รองรับฟังก์ชั่นเฉพาะ ตัวอย่างเช่นจากรูปด้านล่างเราจะเห็นว่าโครงการนี้จำเป็นต้องแนะนำแพ็คเกจ JAR ที่รองรับ MySQL
จากภาพด้านบนเราจะเห็นได้ว่าแพ็คเกจ JAR ที่รองรับ MySQL จะถูกวางไว้ในเส้นทางท้องถิ่นดังนั้นถ้ามันทำงานในเครื่องมันก็จะดี แต่ถ้าเราต้องการเผยแพร่โครงการนี้ไปยังเซิร์ฟเวอร์จะมีปัญหาเนื่องจากในไฟล์. classpath ของโครงการนี้เส้นทางที่แน่นอนของแพ็คเกจ MySQL Jar บนดิสก์ D ท้องถิ่นได้รับการระบุดังแสดงในรูปด้านล่าง
เมื่อเผยแพร่บนเซิร์ฟเวอร์โครงการจะยังคงมองหาเส้นทางนี้ภายใต้ดิสก์ D ตามการกำหนดค่าของ. classPath ในความเป็นจริงมันเป็นไปไม่ได้สำหรับแพ็คเกจพา ธ และขวดบนเซิร์ฟเวอร์
นอกจากนี้เรายังสามารถแก้ปัญหานี้ได้โดยการระบุเส้นทางสัมพัทธ์ใน. classPath ในรหัสต่อไปนี้เราสามารถระบุได้ว่าโครงการนี้จะแนะนำแพ็คเกจ JAR ในไดเรกทอรี "Project Path/Webroot/Lib"
<classpathentry kind = "lib" path = "webroot/lib/jar package.jar"/>
เมื่อทำสิ่งนี้เมื่อเผยแพร่ไปยังเซิร์ฟเวอร์ไฟล์ทั้งหมดในเส้นทางโครงการทั้งหมดจะถูกอัปโหลดดังนั้นจะไม่มีข้อผิดพลาด แต่สิ่งนี้จะยังคงทำให้เราไม่สะดวก ตัวอย่างเช่นเราปรับใช้ 5 โครงการบนเซิร์ฟเวอร์นี้และพวกเขาทั้งหมดใช้แพ็คเกจสนับสนุน MySQL ดังนั้นเราต้องอัปโหลดแพ็คเกจ JAR นี้ 5 ครั้งและขยาย หากใช้แพ็คเกจขวดเดียวกัน 20 ชุดใน 5 โครงการเราต้องคัดลอกหลายครั้ง หากเราต้องการอัพเกรดหนึ่งในแพ็คเกจ JAR เราต้องทำสำเนาซ้ำและการกระทำที่ซ้ำกันมากมาย
โหมดการทำงานที่คาดหวังควรเป็นว่าควรมี "ที่เก็บ" เพื่อวางแพ็คเกจขวดทั้งหมดในเวลาเดียวกัน เมื่อพัฒนาโครงการคุณสามารถแนะนำแพ็คเกจที่จำเป็นผ่านไฟล์การกำหนดค่าแทนการคัดลอกแพ็คเกจลงในโครงการนี้ นี่คือสิ่งที่ Maven ทำ
กล่าวง่ายๆว่า Maven เป็นปลั๊กอินที่มีคราส ค่าหลักของมันคือการสามารถยืดตัวขึ้นระหว่างโครงการได้ โดยเฉพาะอย่างยิ่งสามารถจัดการแพ็คเกจ JAR ที่จะใช้ในโครงการนี้อย่างสม่ำเสมอผ่านไฟล์การกำหนดค่า pom.xml หลังจากแนะนำปลั๊กอิน Maven ในโครงการนักพัฒนาไม่จำเป็นต้องเพิ่มแพ็คเกจ JAR ด้วยตนเองซึ่งสามารถหลีกเลี่ยงปัญหาที่เกิดจากสิ่งนี้
2. พัฒนาโปรแกรม HelloWorld ของ Spring Boot ผ่าน Maven
ขั้นตอนแรกคือการสร้างโครงการ Maven หนังสือเล่มนี้ใช้ myeclipse เป็นสภาพแวดล้อมการพัฒนาและปลั๊กอิน Maven ได้รับการแนะนำดังนั้นเราสามารถสร้างโครงการ Maven โดยตรงผ่านเมนู "ไฟล์"-> "ใหม่" ดังแสดงในรูปด้านล่าง
ในภาพด้านบนหลังจากคลิกปุ่ม "ถัดไป" คุณจะเห็นอินเทอร์เฟซที่แสดงในรูปด้านล่างซึ่งเราสามารถตั้งค่าคุณสมบัติเช่น ID กลุ่ม
ในหมู่พวกเขา ID กลุ่มแสดงชื่อ บริษัท ซึ่งตั้งค่าเป็น "com.springboot" ในขณะที่ ARTIFACT ID เป็นชื่อโครงการและเวอร์ชันและแพ็คก์ใช้ค่าเริ่มต้น หลังจากเสร็จสิ้นการตั้งค่าคุณจะเห็นโครงการที่สร้างขึ้นใหม่ MyFirstspringBoot
ขั้นตอนที่สองคือการเขียน pom.xml ใหม่ หลังจากที่เราสร้างโครงการ Maven เราจะเห็นไฟล์ pom.xml ในโครงการ Maven ข้อมูลพื้นฐานของโครงการนี้และแพ็คเกจ JAR ที่จำเป็นต้องมีการแนะนำโดยทั่วไปจะถูกระบุผ่าน POM.XML รหัสคีย์ที่นี่มีดังนี้
<RoupID> com.springboot </groupId> <ratifactid> myfirstspringboot </artifactid> <cersion> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> myfirstspringboot </name> <roupId> org.springframework.boot </groupid> <ratifactid> Spring-Boot-Starter-Web </artifactid> <persion> 1.5.4.release </version> </การพึ่งพา> <dependency> <roupId> junit </groupid> </predency> </dependencies>
ในหมู่พวกเขารหัสในบรรทัดที่ 1 ถึง 4 จะถูกสร้างขึ้นโดยอัตโนมัติและใช้เพื่อระบุข้อมูลพื้นฐานของโครงการนี้ซึ่งสอดคล้องกับข้อมูลที่เรากรอกเมื่อเราสร้างโครงการ Maven มาก่อน
จากแอตทริบิวต์การพึ่งพาของบรรทัดที่ 7 ถึง 19 เราสามารถระบุแพ็คเกจ JAR ที่ใช้ในโครงการนี้ ที่นี่เราใช้สองการพึ่งพาเพื่อระบุการแนะนำแพ็คเกจ JAR สองประเภทในบรรทัดที่ 8 และ 13 ตามลำดับ จากบรรทัดที่ 8 ถึง 12 ชุดของขวดที่เรียกว่า Spring-Boot-Starter-Web ที่จำเป็นต้องได้รับการแนะนำเพื่อพัฒนาโครงการสปริงบู๊ตจะถูกระบุและในบรรทัดที่ 13 ถึง 18 มีการระบุแพ็คเกจ Junit สำหรับการทดสอบหน่วย
จากรหัสข้างต้นเราสามารถดูวิธีทั่วไปในการจัดการไฟล์การพึ่งพาโครงการผ่าน Maven ตัวอย่างเช่นในตัวอย่างโค้ดด้านล่างมันคือผ่านบรรทัดที่ 2 ถึง 4 ซึ่งบ่งชี้ว่าจำเป็นต้องแนะนำชุดแพ็คเกจขวดที่เรียกว่า Spring-Boot-Starter-Web ซึ่งเผยแพร่โดยองค์กรของ บริษัท org.springframework.boot
ด้วยวิธีนี้ในโครงการนี้เราไม่จำเป็นต้องเพิ่มแพ็คเกจ JAR ด้วยตนเองในเครื่องด้วยตนเอง แพ็คเกจเหล่านี้อยู่ในพื้นที่เก็บข้อมูลระยะไกล โครงการของเราระบุว่าต้องมีการแนะนำแพ็คเกจเหล่านี้ผ่านการกำหนดค่า POM.XML
ขั้นตอนที่สามคือการเขียน app.java ใหม่
เมื่อสร้างโครงการ Maven แพ็คเกจที่เราระบุคือ com.springboot.myfirstspringboot และจะมี app.java อยู่ในนั้น เราเขียนไฟล์นี้ใหม่เป็นสไตล์ต่อไปนี้
แพ็คเกจ com.springboot.myfirstspringboot; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.restcontroller; @RestController @springbootapplication แอพคลาสสาธารณะ {@requestmapping ("/helloWorld") สตริงสาธารณะ sayhello () {return "Hello World!"; } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (app.class, args); -เนื่องจากเป็นครั้งแรกที่จะใช้ Maven เราจะเน้นอีกครั้งที่นี่แม้ว่าเราจะไม่ได้แนะนำขวดในโครงการด้วยตนเองเนื่องจากแพ็คเกจการพึ่งพาที่จะแนะนำนั้นถูกระบุไว้ใน pom.xml โดยเฉพาะเราจำเป็นต้องพึ่งพาองค์กรฤดูใบไม้ผลิ ดังนั้นในบรรทัดที่ 2 ถึง 5 ของรหัสเราสามารถใช้ไลบรารีคลาส Spring-Boot-Starter-Web (นั่นคือสปริงบูตคลาส) ผ่านคำสั่งนำเข้า
ในบรรทัดที่ 8 เราแนะนำคำอธิบายประกอบ @SpringBootapplication เพื่อประกาศว่าคลาสเป็นแอปพลิเคชันสปริงบูต ในบรรทัดที่ 10 ถึง 13 เราระบุวิธี Sayhello ที่ใช้ในการจัดการ /helloWorld คำขอผ่าน @requestmapping ในฟังก์ชั่นหลักบนบรรทัด 14 เราเริ่มบริการเว็บผ่านรหัสบนบรรทัด 15
จนถึงตอนนี้เราได้เสร็จสิ้นการเขียนรหัสแล้ว เริ่ม App.java ในโครงการ MyFirstspringBoot และป้อน http: // localhost: 8080/helloWorld ในเบราว์เซอร์ เนื่องจากคำขอ /HelloWorld สามารถสอดคล้องกับ @requestmapping ของวิธี Sayshello ในบรรทัดที่ 11 ถึง 13 เนื้อหาของ Hello World! จะถูกส่งออกผ่านวิธี Sayhello ดังแสดงในรูปด้านล่าง
จากโปรแกรมนี้เราสามารถเข้าใจถึงความแตกต่างระหว่างการพัฒนาสปริงบูตและโปรแกรมฤดูใบไม้ผลิแบบดั้งเดิม
ครั้งแรกในกรอบ MVC ฤดูใบไม้ผลิก่อนหน้านี้เราต้องกำหนดผู้ฟังฤดูใบไม้ผลิใน web.xml และเพื่อใช้คลาสคอนโทรลเลอร์ @Controller เราต้องเพิ่มการกำหนดค่าจำนวนมาก แต่ในการบูตฤดูใบไม้ผลิเราต้องเพิ่มคำอธิบายประกอบ
ประการที่สองเรามักจะต้องเผยแพร่โครงการ MVC ฤดูใบไม้ผลิแบบดั้งเดิมไปยังเว็บเซิร์ฟเวอร์เช่น Tomcat หลังจากเริ่มต้นเว็บเซิร์ฟเวอร์เราสามารถป้อนคำขอในเบราว์เซอร์เพื่อดูเอฟเฟกต์การทำงาน ที่นี่เราต้องเริ่มคลาส App.java เพื่อให้ได้เอฟเฟกต์ที่คล้ายกันซึ่งสามารถบันทึกขั้นตอนการปรับใช้กับเว็บเซิร์ฟเวอร์
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะมีค่าอ้างอิงบางอย่างสำหรับการศึกษาหรือที่ทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร ขอบคุณสำหรับการสนับสนุน Wulin.com