Das Hauptziel des Spring Data-Projekts besteht darin, die Erstellung von Spring-basierten Anwendungen zu erleichtern, die neue Datenzugriffstechnologien wie nicht-relationale Datenbanken, Map-Reduce-Frameworks und cloudbasierte Datendienste nutzen.
Das Spring Data MongoDB-Projekt zielt darauf ab, ein vertrautes und konsistentes Spring-basiertes Programmiermodell für neue Datenspeicher bereitzustellen und gleichzeitig speicherspezifische Funktionen und Fähigkeiten beizubehalten. Das Spring Data MongoDB-Projekt bietet eine Integration mit der MongoDB-Dokumentendatenbank. Zu den wichtigsten Funktionsbereichen von Spring Data MongoDB gehören ein POJO-zentriertes Modell für die Interaktion mit einem MongoDB- Document
und das einfache Schreiben einer Datenzugriffsschicht im Repository-Stil.
Für dieses Projekt gilt der Spring Code of Conduct. Durch Ihre Teilnahme wird von Ihnen erwartet, dass Sie diesen Verhaltenskodex einhalten. Bitte melden Sie inakzeptables Verhalten an [email protected].
Hier ist ein kurzer Teaser einer Anwendung, die Spring Data Repositories in Java verwendet:
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" ;
}
}
Fügen Sie die Maven-Abhängigkeit hinzu:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
Wenn Sie lieber die neuesten Snapshots der kommenden Hauptversion möchten, verwenden Sie unser Maven-Snapshot-Repository und deklarieren Sie die entsprechende Abhängigkeitsversion.
< 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 >
Anweisungen zum Upgrade von früheren Versionen von Spring Data finden Sie im Projekt-Wiki. Folgen Sie den Links im Abschnitt mit den Versionshinweisen, um die Version zu finden, auf die Sie aktualisieren möchten.
Haben Sie Probleme mit Spring Data? Wir helfen gerne!
Überprüfen Sie die Referenzdokumentation und Javadocs
Lernen Sie die Spring-Grundlagen kennen – Spring Data baut auf dem Spring Framework auf. Auf der spring.io-Website finden Sie eine Fülle von Referenzdokumentationen. Wenn Sie gerade erst mit dem Frühling beginnen, probieren Sie einen der Ratgeber aus.
Wenn Sie ein Upgrade durchführen, sehen Sie im Änderungsprotokoll nach „neuen und bemerkenswerten“ Funktionen.
Stellen Sie eine Frage – wir überwachen stackoverflow.com auf Fragen mit dem Tag spring-data-mongodb
. Sie können auch mit der Community auf Gitter chatten.
Melden Sie Fehler mit Spring Data MongoDB unter github.com/spring-projects/spring-data-mongodb/issues.
Spring Data nutzt Github als Issue-Tracking-System, um Fehler und Funktionsanfragen zu erfassen. Wenn Sie ein Problem ansprechen möchten, befolgen Sie bitte die folgenden Empfehlungen:
Bevor Sie einen Fehler melden, durchsuchen Sie bitte den Issue-Tracker, um zu sehen, ob jemand das Problem bereits gemeldet hat.
Wenn das Problem noch nicht vorhanden ist, erstellen Sie ein neues Problem.
Bitte geben Sie mit dem Problembericht so viele Informationen wie möglich an. Wir möchten gerne wissen, welche Version von Spring Data Sie verwenden, die JVM-Version, Stacktrace usw.
Wenn Sie Code einfügen oder einen Stack-Trace einschließen müssen, verwenden Sie Markdown-Code-Zäune „“.
Die Website spring.io enthält mehrere Anleitungen, die Schritt für Schritt zeigen, wie Sie Spring Data verwenden:
„Zugriff auf Daten mit MongoDB“ ist eine sehr grundlegende Anleitung, die Ihnen zeigt, wie Sie eine einfache Anwendung erstellen und über Repositorys auf Daten zugreifen.
„Zugriff auf MongoDB-Daten mit REST“ ist eine Anleitung zum Erstellen eines REST-Webdienstes, der in MongoDB gespeicherte Daten über Repositorys verfügbar macht.
Spring Data Examples enthält Beispielprojekte, die bestimmte Funktionen detaillierter erläutern.
Sie müssen nicht aus dem Quellcode erstellen, um Spring Data zu verwenden. Binärdateien sind in repo.spring.io verfügbar und über Maven mithilfe der oben genannten Maven-Konfiguration zugänglich.
Notiz | Die Konfiguration für Gradle ähnelt der von Maven. |
Der beste Einstieg ist die Erstellung eines Spring Boot-Projekts mit MongoDB auf start.spring.io. Folgen Sie diesem Link, um eine imperative Anwendung zu erstellen, und diesem Link, um eine reaktive Anwendung zu erstellen.
Wenn Sie jedoch das Neueste und Beste ausprobieren möchten, kann Spring Data MongoDB problemlos mit dem Maven-Wrapper und mindestens JDK 17 (JDK-Downloads) erstellt werden.
Um Spring Data MongoDB zu erstellen, müssen Sie eine MongoDB-Distribution herunterladen und installieren.
Nachdem Sie MongoDB installiert haben, müssen Sie einen MongoDB-Server starten. Es ist praktisch, eine Umgebungsvariable auf Ihr MongoDB-Installationsverzeichnis festzulegen (z. B. MONGODB_HOME
).
Um die vollständige Testsuite auszuführen, ist ein MongoDB-Replikatset erforderlich.
Um den MongoDB-Server auszuführen, geben Sie den folgenden Befehl über eine Befehlszeile ein:
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
Sobald der MongoDB-Server gestartet ist, sollte die Meldung ( msg
) „ Erfolgreich mit dem Host verbunden “ angezeigt werden.
Beachten Sie die Option --dbpath
für den Befehl mongod
. Sie können dies beliebig festlegen, aber in diesem Fall legen wir den absoluten Pfad auf ein Unterverzeichnis ( runtime/data/
) unter dem MongoDB-Installationsverzeichnis (in $MONGODB_HOME
) fest.
Sie müssen den MongoDB-Replikatsatz nur einmal beim ersten Start des MongoDB-Servers initialisieren. Um den Replikatsatz zu initialisieren, starten Sie einen Mongo-Client:
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
Geben Sie dann den folgenden Befehl ein:
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
Schließlich müssen Sie auf UNIX-basierten Systemen (z. B. Linux oder Mac OS X) möglicherweise ulimit
anpassen. Bei Bedarf können Sie das ulimit
mit dem folgenden Befehl anpassen (32768 ist nur eine Empfehlung):
$ ulimit -n 32768
Sie können ulimit -a
erneut verwenden, um zu überprüfen, ob das ulimit
für „ offene Dateien “ richtig eingestellt wurde.
Jetzt können Sie Spring Data MongoDB erstellen. Geben Sie einfach den folgenden mvnw
Befehl (Maven Wrapper) ein:
$ ./mvnw clean install
Wenn Sie mit dem regulären mvn
-Befehl erstellen möchten, benötigen Sie Maven v3.8.0 oder höher.
Sehen Sie sich auch CONTRIBUTING.adoc an, wenn Sie Pull-Anfragen einreichen möchten, und unterzeichnen Sie insbesondere die Mitwirkendenvereinbarung vor Ihrer ersten nicht trivialen Änderung.
Durch die Erstellung der Dokumentation wird auch das Projekt erstellt, ohne dass Tests ausgeführt werden müssen.
$ ./mvnw clean install -Pantora
Die generierte Dokumentation ist unter target/antora/site/index.html
verfügbar.
Spring Data MongoDB ist eine Open-Source-Software, die unter der Apache 2.0-Lizenz veröffentlicht wird.