บอกเราเกี่ยวกับที่มาของ Springboot และ Uncle Lind.ddd
MongoDB เป็น encapsulated รองใน lind.ddd (ลุง. NET และ. NET Core) และใช้เป็นพื้นที่เก็บข้อมูลชนิดหนึ่ง สำหรับนักพัฒนาให้รักษาอินเทอร์เฟซมาตรฐานเพียงไม่กี่ตัว ในเฟรมเวิร์ก Springboot มันค่อนข้างคล้ายกับ Luncle's Lind และมันก็เป็นสิ่งที่ห่อหุ้มด้วย นักพัฒนาต้องให้ความสนใจกับธุรกิจของตนเองเท่านั้น การดำเนินการ Curd มาตรฐานเสร็จสมบูรณ์โดย Springboot เพื่อช่วยให้เราดำเนินการ โดยทั่วไปเราจะออกแบบที่เก็บอินเทอร์เฟซด้วยวัตถุเอนทิตีเพื่อให้สามารถสืบทอดอินเทอร์เฟซมาตรฐานของ Mongo จากนั้นฉีดการใช้งานมาตรฐานลงในกรอบการฉีดพึ่งพา Springboot ทั้งหมดนี้คือสิ่งที่กรอบการทำงานช่วยให้เรานำไปใช้!
ใช้ MongoDB ในโครงการ
หากโครงการจำเป็นต้องใช้ MongoDB เพื่อคงข้อมูลโดยทั่วไปสามารถทำได้ผ่านขั้นตอนต่อไปนี้:
1 เพิ่มการพึ่งพาแพ็คเกจ Build.gradle
Compile ('org.springframework.boot: Spring-Boot-Starter-Data-MongoDB')หากมีโครงการทดสอบหน่วยคุณสามารถใช้ MongoDB แบบฝังเพื่อไม่จำเป็นต้องสื่อสารกับทรัพยากรภายนอก วิธีการทำงาน: ดาวน์โหลดแพ็คเกจ MongoDB จากระยะไกลเริ่มต้นลบคอลเลกชันที่สร้างขึ้นหลังจากการทดสอบเสร็จสิ้น
TestCompile ('de.flapdoodle.embed: de.flapdoodle.embed.mongo: 2.0.3')2 เพิ่มแอปพลิเคชันรายการกำหนดค่าเริ่มต้น application.yml
ฤดูใบไม้ผลิ: ข้อมูล: MongoDB: URI: MongoDB: //192.168.99.100: 27017/รหัสผ่านทดสอบ: แขกชื่อผู้ใช้: แขก
3ADD คลาสเอนทิตีที่สอดคล้องกับคอลเลกชัน MongoDB
/** * ที่อยู่. * /@data@noargsconstructor@allargsconstructorpublic คลาสที่อยู่ { /*** หมายเลข */ @ID รหัสสตริงส่วนตัว; /** * จังหวัด. */ Private String Province; /** * เมือง. */ เมืองสตริงส่วนตัว; /** * เขต. */ เขตสตริงส่วนตัว; /** * สถานะ. */ สถานะส่วนตัวสถานะ;}4 เพิ่มคลาสที่เก็บที่สอดคล้องกับเอนทิตี มันจำเป็นต้องสืบทอดที่เก็บ MongoDB มาตรฐาน Extendeds ในเวลาเดียวกันที่เก็บ MongoDB รองรับวิธีการประชุมอัตโนมัติ นักพัฒนาสามารถใช้คำอธิบายประกอบ @Query เพื่อกำหนดรายการฟิลด์ที่ส่งคืนซึ่งจำเป็นมากสำหรับเอกสารข้อมูลขนาดใหญ่ หากอินเทอร์เฟซเริ่มต้นไม่สามารถตอบสนองความต้องการของเราได้เราจำเป็นต้องกำหนดอินเทอร์เฟซส่วนบุคคลและนำไปใช้ ในตัวอย่างต่อไปนี้ที่อยู่ของเราเป็นอินเทอร์เฟซส่วนบุคคล ที่อยู่อินเตอร์เฟสภายนอกของเราจำเป็นต้องได้รับการสืบทอด โปรดทราบว่าลุงเชื่อว่าสิ่งนี้ได้ทำลายหลักการเปิดและปิดเชิงวัตถุ หยวนฟางคุณคิดยังไง!
/*** อินเทอร์เฟซคลังสินค้าที่อยู่ที่มีให้กับด้านนอกสืบทอดอินเทอร์เฟซที่เกี่ยวข้องกับที่อยู่ทั้งหมด * /ที่อยู่อินเตอร์เฟสสาธารณะขยายที่อยู่ที่อยู่อาศัย, mongorePository <ที่อยู่, สตริง> { /*** รับรายการที่อยู่ตามจังหวัด * * @param Province * @return */ @Query (fields = "{'Province': 0}") รายการ <dront> findaddressesbyprovince (String Province); /*** รับรายการที่อยู่ตามจังหวัดและจังหวัด * * @param Province * @param City * @return */@Query () // ฟิลด์ระบุฟิลด์ที่มีอยู่ในรายการ <dront> findaddressesbyprovinceAndCityandDistict (String Province, String City, String District);};การใช้คลังสินค้าส่วนบุคคลโดยใช้วัตถุ mongotemplate เพื่อโต้ตอบกับฐานข้อมูล MongoDB!
/*** การใช้งานที่เก็บของกฎพิเศษ */ชั้นเรียนสาธารณะที่อยู่ที่ใช้งานอยู่กับการใช้งาน addressExtrepository {@autowired Mongotemplate Mongotemplate; @Override ที่อยู่สาธารณะ FindByProvinceAndCity (String Province, String City) {Query Query = แบบสอบถามใหม่ (Criteria.where ("Province") คือ (จังหวัด). และ ("เมือง") คือ (เมือง)); ส่งคืน mongotemplate.findone (Query, address.class, "ที่อยู่"); -5. ในคอนโทรลเลอร์คุณสามารถเข้าถึงที่เก็บข้อมูลและวัตถุธุรกิจโดยตรงผ่านคำอธิบายประกอบ @autowired
@RestControllerPublic คลาส Mongocontroller {// ที่เก็บ @autowired ที่เก็บข้อมูลที่อยู่ส่วนตัว; // ธุรกิจผู้ใช้ @AutoWired Userservice Userservice; /*** รับรายการที่อยู่ * * @return */@requestmapping ("/ที่อยู่/{จังหวัด}") ที่อยู่สาธารณะ getAddress (@PathVariable ("จังหวัด") จังหวัดสตริง) {System.out.println ("1, จังหวัด =" จังหวัด); return userservice.getAddress (จังหวัด); -สรุป
ข้างต้นเป็นคำอธิบายโดยละเอียดเกี่ยวกับตัวอย่างการรวมและการใช้งานของ Springboot MongoDB ที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!