Ceritakan tentang asal mula springboot dan paman lind.ddd
MongoDB dienkapsulasi sekunder dalam lind.ddd (paman .net dan .net core) dan menggunakannya sebagai semacam repositori. Untuk pengembang, hanya menyembuhkan beberapa antarmuka standar. Dalam kerangka kerja Springboot, ini agak mirip dengan Lind Paman, dan juga sekunder yang dienkapsulasi. Pengembang hanya perlu memperhatikan bisnis mereka sendiri. Operasi CUR standar diselesaikan oleh Springboot untuk membantu kami menerapkan. Secara umum, kami akan merancang repositori antarmuka dengan objek entitas, sehingga dapat mewarisi antarmuka standar Mongo, dan kemudian menyuntikkan implementasi standar ke dalam kerangka injeksi ketergantungan springboot. Semua ini adalah kerangka kerja yang membantu kami menerapkan!
Menerapkan MongoDB dalam proyek
Jika proyek perlu menggunakan MongoDB untuk bertahan data, umumnya dapat dicapai melalui langkah -langkah berikut:
1 Tambahkan paket dependensi build.gradle
compile ('org.springframework.boot: Spring-boot-starter-data-mongodb')Jika ada proyek uji unit, Anda dapat menggunakan MongoDB tertanam sehingga tidak perlu berkomunikasi dengan sumber daya eksternal. Cara kerjanya: Unduh paket MongoDB dari jarak jauh, memulainya, hapus koleksi yang dihasilkan setelah tes selesai
TestCompile ('de.flapdoodle.embed: de.flapdoodle.embed.mongo: 2.0.3')2 Tambahkan application item konfigurasi default.yml
Spring: Data: MongoDB: URI: MongoDB: //192.168.99.100: 27017/Tes Kata Sandi: Tamu Nama Pengguna: Tamu
3DD Kelas entitas yang sesuai dengan koleksi MongoDB
/** * Alamat. * /@Data@noargsconstructor@allArgsconstructorPublic Address { /*** nomor. */ @ID ID String Privat; /*** Provinsi. */ provinsi string pribadi; /** * Kota. */ Kota String Pribadi; /** * Daerah. */ distrik string pribadi; /*** status. */ status status pribadi;}4 Tambahkan kelas repositori yang sesuai dengan entitas. Perlu mewarisi repositori MongoDB standar yang diperluas. Pada saat yang sama, repositori MongoDB mendukung metode konvensi otomatis. Pengembang dapat menggunakan anotasi @Query untuk menentukan daftar bidang yang dikembalikan, yang sangat diperlukan untuk dokumen data besar. Jika antarmuka default tidak dapat memenuhi persyaratan kami, kami perlu mendefinisikan antarmuka yang dipersonalisasi dan mengimplementasikannya. Dalam contoh berikut, Alamat kami adalah antarmuka yang dipersonalisasi. Alamat antarmuka eksternal kami perlu diwariskan. Perhatikan bahwa paman percaya bahwa ini telah memecahkan prinsip pembukaan dan penutupan yang berorientasi pada objek. Yuan Fang, bagaimana menurutmu!
/*** Antarmuka pergudangan alamat yang disediakan untuk bagian luar, mewarisi semua antarmuka terkait alamat. * /Antarmuka Public AlamateRepository Memperluas alamat extrepository, mongorepository <alamat, string> { /*** Dapatkan daftar alamat berdasarkan provinsi. * * @param provinsi * @return */ @Query (fields = "{'provinsi': 0}") Daftar <spulht> findaddressesbyprovince (provinsi string); /*** Dapatkan daftar alamat berdasarkan provinsi dan provinsi. * * @param provinsi * @param city * @return */@Query () // Fields menunjukkan bidang yang terkandung dalam Daftar <Sahua> FindAddressByProvinceandCityAndDistict (Provinsi String, String City, String District);}Implementasi Pergudangan yang Dipersonalisasi, menggunakan objek Mongotemplate untuk berinteraksi dengan database MongoDB!
/*** Implementasi repositori aturan khusus. */kelas publik ADCHAELLEXTREPOSITORYIMPL mengimplementasikan addressExtrepository {@Autowired mongoTemplate mongotemplate; @Override alamat publik findByprovinceandcity (string province, string city) {kueri kueri = kueri baru (kriteria.where ("provinsi"). Adalah (provinsi) .and ("kota"). Adalah (kota)); return mongotemplate.findone (kueri, alamat. Klass, "alamat"); }}5. Di pengontrol, Anda dapat mengakses objek repositori dan bisnis secara langsung melalui anotasi @Autowired.
@RestControllerPublic kelas mongocontroller {// repositori. @Autowired private addressrepository repository; // Bisnis Pengguna. @Autowired Private UserServerServiceService; /*** Dapatkan daftar alamat. * * @return */@RequestMapping ("/address/{provinsi}") alamat publik getAddress (@pathvariable ("provinsi") Provinsi string) {System.out.println ("1, provinsi =" + provinsi); return userservice.getAddress (provinsi); }}Meringkaskan
Di atas adalah penjelasan terperinci tentang integrasi dan contoh penggunaan springboot mongodb yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!