Erzählen Sie uns von dem Ursprung von Springboot und Onkel Linddd.ddd
MongoDB ist sekundär in lind.ddd (Onkel's .NET und .NET Core) und verwendet es als eine Art Repository. Für Entwickler heilen Sie nur einige Standardschnittstellen. Im Springboot -Framework ähnelt es Onkels Lind etwas und ist auch sekundär eingekapselt. Entwickler müssen nur auf ihr eigenes Geschäft achten. Der Standard -CUR -Betrieb wird von Springboot abgeschlossen, um uns bei der Implementierung zu unterstützen. Im Allgemeinen entwerfen wir ein Schnittstellen -Repository mit Entitätsobjekten, damit es die Standardschnittstelle von Mongo erben und dann die Standardimplementierung in das Springboot -Injektionsgerüst injiziert. All dies ist das, was uns das Framework hilft, implementieren!
Implementieren Sie MongoDB im Projekt
Wenn das Projekt MongoDB verwenden muss, um Daten zu bestehen, kann es im Allgemeinen in den folgenden Schritten erreicht werden:
1 Fügen Sie Paketabhängigkeits Build.gradle hinzu
compile ('org.springframework.boot: Spring-Boot-Starter-DATA-MONGODB')Wenn es ein Unit -Testprojekt gibt, können Sie eingebettete MongoDB verwenden, damit es nicht mit externen Ressourcen kommunizieren muss. Wie es funktioniert: Laden Sie das MongoDB -Paket aus der Ferne herunter, starten Sie es, löschen Sie die generierte Sammlung nach Abschluss des Tests
testCompile ('De.Flapdoodle.Embed: De.Flapdoodle.embed.Mongo: 2.0.3')2 Fügen Sie die Standardkonfiguration Element application.yml hinzu
Frühling: Daten: MongoDB: URI: MongoDB: //192.168.99.100: 27017/Test Passwort: Gast Benutzername: Gast
3Add der Entitätsklasse, die der MongoDB -Sammlung entspricht
/** * Adresse. * /@Data@noargSconstructor@allargSconstructorPublic -Adresse { /*** Nummer. */ @Id private String -ID; /*** Provinz. */ Private String Provinz; /** * Stadt. */ private String City; /** * Bezirk. */ privater String District; /*** Status. */ privater Status;}4 Fügen Sie die der Entität entsprechende Repository -Klasse hinzu. Es muss das Extendeds Standard MongoDB -Repository erben. Gleichzeitig unterstützt das MongoDB -Repository automatische Kongressmethoden. Entwickler können @Query Annotation verwenden, um die zurückgegebene Feldliste zu bestimmen, die für Big -Data -Dokumente sehr erforderlich ist. Wenn die Standardschnittstelle unsere Anforderungen nicht erfüllen kann, müssen wir eine personalisierte Schnittstelle definieren und implementieren. Im folgenden Beispiel handelt es sich bei unserem adressExTrepository um eine personalisierte Schnittstelle. Unser externer Schnittstellenadressrepository muss es erben. Beachten Sie, dass der Onkel der Ansicht ist, dass dies das objektorientierte Öffnungs- und Schließprinzip geknackt hat. Yuan Fang, was denkst du!
/*** Die Adresslagerschnittstelle, die außen zur Verfügung gestellt wird und alle Adressoberflächen erbt. * /public interface addressRepository erweitert adresdextrepository, mongorepository <Adresse, String> { /*** Die Adressliste basierend auf der Provinz abrufen. * * @param provinz * @return */ @Query (fields = "{'Provinz': 0}") LIST <adresse> findAddresSbyprovince (String -Provinz); /*** Erhalten Sie die Adressliste basierend auf der Provinz und der Provinz. * * @Param Provinz * @param City * @Return */@Query () // Felder gibt das Feld an, das in der Liste <adresses> findadDresSbyProvinCeandCity und Distict (String Province, String City, String District);};};};};} angezeigt wird.Personalisierte Lagerungsimplementierung mit dem Mongotemplate -Objekt, um mit der MongoDB -Datenbank zu interagieren!
/*** Repository -Implementierung von Sonderregeln. */public class adressExTrepositoryImpl implementiert adresdextrepository {@autowired mongotemplate mongotemplate; @Override öffentliche Adresse findByProvinceAndCity (String -Provinz, String City) {Query query = new query (Kriterien wo ("Provinz"). IS (Provinz) .und ("Stadt"). Ist (Stadt)); return mongotemplate.findone (Abfrage, Adresse.Class, "Adresse"); }}5. Im Controller können Sie über die @autowired Annotation direkt auf das Repository- und Geschäftsobjekte zugreifen.
@RestControllerPublic Class Mongocontroller {// Repository. @Autowired Private addressRepository Repository; // Benutzergeschäft. @Autowired Private UserService UserService; /*** Holen Sie sich die Adressliste. * * @return */@RequestMapping ("/adress/{Provinz}") öffentliche Adresse getAddress (@PathVariable ("Provinz") String Provinz) {System.out.println ("1, provinz =" + provinz); Return UserService.getAddress (Provinz); }}Zusammenfassen
Das obige ist eine detaillierte Erklärung der Integrations- und Verwendungsbeispiele von Springboot MongoDB, die Ihnen vom Herausgeber vorgestellt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!