เป้าหมายหลักของโครงการ Spring Data คือการทำให้ง่ายต่อการสร้างแอปพลิเคชันที่ขับเคลื่อนโดย Spring ซึ่งใช้เทคโนโลยีการเข้าถึงข้อมูลใหม่ๆ เช่น ฐานข้อมูลที่ไม่สัมพันธ์กัน เฟรมเวิร์กการลดแผนที่ และบริการข้อมูลบนคลาวด์
โครงการ Spring Data MongoDB มีเป้าหมายเพื่อมอบโมเดลการเขียนโปรแกรมบน Spring ที่คุ้นเคยและสอดคล้องกันสำหรับพื้นที่เก็บข้อมูลใหม่ ในขณะที่ยังคงคุณลักษณะและความสามารถเฉพาะของร้านค้าไว้ โปรเจ็กต์ Spring Data MongoDB ให้การบูรณาการกับฐานข้อมูลเอกสาร MongoDB ขอบเขตการทำงานหลักของ Spring Data MongoDB เป็นโมเดล POJO เป็นศูนย์กลางสำหรับการโต้ตอบกับ Document
MongoDB และเขียนเลเยอร์การเข้าถึงข้อมูลสไตล์พื้นที่เก็บข้อมูลได้อย่างง่ายดาย
โครงการนี้อยู่ภายใต้หลักจรรยาบรรณของ Spring ในการเข้าร่วม คุณจะต้องปฏิบัติตามจรรยาบรรณนี้ กรุณารายงานพฤติกรรมที่ไม่สามารถยอมรับได้ที่ [email protected]
นี่เป็นตัวอย่างสั้นๆ ของแอปพลิเคชันที่ใช้ Spring Data Repositories ใน Java:
public interface PersonRepository extends CrudRepository < Person , Long > {
List < Person > findByLastname ( String lastname );
List < Person > findByFirstnameLike ( String firstname );
}
@ Service
public class MyService {
private final PersonRepository repository ;
public MyService ( PersonRepository repository ) {
this . repository = repository ;
}
public void doWork () {
repository . deleteAll ();
Person person = new Person ();
person . setFirstname ( "Oliver" );
person . setLastname ( "Gierke" );
repository . save ( person );
List < Person > lastNameResults = repository . findByLastname ( "Gierke" );
List < Person > firstNameResults = repository . findByFirstnameLike ( "Oli*" );
}
}
@ Configuration
@ EnableMongoRepositories
class ApplicationConfig extends AbstractMongoClientConfiguration {
@ Override
protected String getDatabaseName () {
return "springdata" ;
}
}
เพิ่มการพึ่งพา Maven:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
หากคุณต้องการสแนปช็อตล่าสุดของเวอร์ชันหลักที่กำลังจะมาถึง ให้ใช้พื้นที่เก็บข้อมูลสแน็ปช็อต Maven ของเราและประกาศเวอร์ชันอ้างอิงที่เหมาะสม
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
คำแนะนำสำหรับวิธีอัปเกรดจาก Spring Data เวอร์ชันก่อนหน้านั้นมีอยู่ในวิกิโปรเจ็กต์ ตามลิงก์ในส่วนบันทึกประจำรุ่นเพื่อค้นหาเวอร์ชันที่คุณต้องการอัปเกรด
มีปัญหากับ Spring Data ใช่ไหม เรายินดีที่จะช่วย!
ตรวจสอบเอกสารอ้างอิงและ Javadocs
เรียนรู้พื้นฐานของ Spring – Spring Data สร้างขึ้นบน Spring Framework ตรวจสอบเว็บไซต์ spring.io เพื่อดูเอกสารอ้างอิงมากมาย หากคุณเพิ่งเริ่มต้นใช้งาน Spring ให้ลองใช้คำแนะนำข้อใดข้อหนึ่ง
หากคุณกำลังอัปเกรด โปรดดูบันทึกการเปลี่ยนแปลงสำหรับคุณสมบัติ “ใหม่และน่าจดจำ”
ถามคำถาม - เราตรวจสอบ stackoverflow.com สำหรับคำถามที่แท็กด้วย spring-data-mongodb
คุณยังสามารถแชทกับชุมชนบน Gitter ได้อีกด้วย
รายงานข้อบกพร่องกับ Spring Data MongoDB ได้ที่ github.com/spring-projects/spring-data-mongodb/issues
Spring Data ใช้ Github เป็นระบบติดตามปัญหาเพื่อบันทึกจุดบกพร่องและคำขอคุณสมบัติ หากคุณต้องการแจ้งปัญหา โปรดปฏิบัติตามคำแนะนำด้านล่าง:
ก่อนที่คุณจะบันทึกข้อบกพร่อง โปรดค้นหาตัวติดตามปัญหาเพื่อดูว่ามีคนรายงานปัญหาแล้วหรือไม่
หากไม่มีปัญหาอยู่แล้ว ให้สร้างปัญหาใหม่
โปรดระบุข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้พร้อมกับรายงานปัญหา เราต้องการทราบเวอร์ชันของ Spring Data ที่คุณใช้ เวอร์ชัน JVM, Stacktrace ฯลฯ
หากคุณต้องการวางโค้ดหรือรวมการติดตามสแต็ก ให้ใช้รั้วโค้ด Markdown ```
ไซต์ spring.io มีคำแนะนำหลายข้อที่แสดงวิธีใช้ Spring Data ทีละขั้นตอน:
การเข้าถึงข้อมูลด้วย MongoDB เป็นคำแนะนำพื้นฐานที่แสดงวิธีสร้างแอปพลิเคชันอย่างง่าย และวิธีการเข้าถึงข้อมูลโดยใช้พื้นที่เก็บข้อมูล
การเข้าถึงข้อมูล MongoDB ด้วย REST เป็นแนวทางในการสร้างบริการเว็บ REST โดยเปิดเผยข้อมูลที่จัดเก็บไว้ใน MongoDB ผ่านที่เก็บข้อมูล
Spring Data Examples มีโปรเจ็กต์ตัวอย่างที่อธิบายคุณสมบัติเฉพาะโดยละเอียดมากขึ้น
คุณไม่จำเป็นต้องสร้างจากแหล่งที่มาเพื่อใช้ Spring Data ไบนารีมีอยู่ใน repo.spring.io และเข้าถึงได้จาก Maven โดยใช้การกำหนดค่า Maven ที่ระบุไว้ข้างต้น
บันทึก | การกำหนดค่าสำหรับ Gradle นั้นคล้ายคลึงกับ Maven |
วิธีเริ่มต้นที่ดีที่สุดคือการสร้างโปรเจ็กต์ Spring Boot โดยใช้ MongoDB บน start.spring.io ไปที่ลิงก์นี้เพื่อสร้างแอปพลิเคชันที่จำเป็นและลิงก์นี้เพื่อสร้างแอปพลิเคชันเชิงโต้ตอบ
อย่างไรก็ตาม หากคุณต้องการทดลองใช้บริการล่าสุดและยิ่งใหญ่ที่สุด Spring Data MongoDB สามารถสร้างได้อย่างง่ายดายด้วย Maven wrapper และ JDK 17 (ดาวน์โหลด JDK) เพียงเล็กน้อย
ในการสร้าง Spring Data MongoDB คุณจะต้องดาวน์โหลดและติดตั้งการกระจาย MongoDB
เมื่อคุณติดตั้ง MongoDB แล้ว คุณจะต้องเริ่มเซิร์ฟเวอร์ MongoDB สะดวกในการตั้งค่าตัวแปรสภาพแวดล้อมให้กับไดเร็กทอรีการติดตั้ง MongoDB ของคุณ (เช่น MONGODB_HOME
)
หากต้องการรันชุดการทดสอบแบบเต็ม จำเป็นต้องมีชุดจำลอง MongoDB
หากต้องการรันเซิร์ฟเวอร์ MongoDB ให้ป้อนคำสั่งต่อไปนี้จากบรรทัดคำสั่ง:
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
เมื่อเซิร์ฟเวอร์ MongoDB เริ่มทำงาน คุณจะเห็นข้อความ ( msg
) " เชื่อมต่อกับโฮสต์สำเร็จ "
สังเกตตัวเลือก --dbpath
ในคำสั่ง mongod
คุณสามารถตั้งค่านี้เป็นอะไรก็ได้ที่คุณต้องการ แต่ในกรณีนี้ เราจะตั้งค่าพาธสัมบูรณ์ไปยังไดเร็กทอรีย่อย ( runtime/data/
) ภายใต้ไดเร็กทอรีการติดตั้ง MongoDB (ใน $MONGODB_HOME
)
คุณต้องเริ่มต้นชุดการจำลอง MongoDB เพียงครั้งเดียวในครั้งแรกที่เซิร์ฟเวอร์ MongoDB เริ่มทำงาน ในการเริ่มต้นชุดเรพลิกา ให้เริ่มต้นไคลเอนต์ mongo:
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
จากนั้นป้อนคำสั่งต่อไปนี้:
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
สุดท้ายนี้ บนระบบที่ใช้ UNIX (เช่น Linux หรือ Mac OS X) คุณอาจต้องปรับ ulimit
ในกรณีที่จำเป็น คุณสามารถปรับ ulimit
ด้วยคำสั่งต่อไปนี้ (32768 เป็นเพียงคำแนะนำ):
$ ulimit -n 32768
คุณสามารถใช้ ulimit -a
อีกครั้งเพื่อตรวจสอบว่า ulimit
สำหรับ " open files " ได้รับการตั้งค่าอย่างเหมาะสม
ตอนนี้คุณพร้อมที่จะสร้าง Spring Data MongoDB แล้ว เพียงป้อนคำสั่ง mvnw
(Maven Wrapper) ต่อไปนี้:
$ ./mvnw clean install
หากคุณต้องการสร้างด้วยคำสั่ง mvn
ปกติ คุณจะต้องใช้ Maven v3.8.0 ขึ้นไป
โปรดดูที่ CONTRIBUTING.adoc หากคุณต้องการส่งคำขอดึง และโดยเฉพาะอย่างยิ่ง โปรดลงนามในข้อตกลงของผู้ร่วมให้ข้อมูลก่อนการเปลี่ยนแปลงที่ไม่สำคัญครั้งแรกของคุณ
การสร้างเอกสารประกอบจะสร้างโปรเจ็กต์โดยไม่ต้องทำการทดสอบ
$ ./mvnw clean install -Pantora
เอกสารที่สร้างขึ้นมีอยู่ใน target/antora/site/index.html
Spring Data MongoDB เป็นซอฟต์แวร์โอเพ่นซอร์สที่เผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0