L'objectif principal du projet Spring Data est de faciliter la création d'applications Spring qui utilisent de nouvelles technologies d'accès aux données telles que des bases de données non relationnelles, des frameworks de réduction de cartes et des services de données basés sur le cloud.
Le projet Spring Data MongoDB vise à fournir un modèle de programmation familier et cohérent basé sur Spring pour les nouvelles banques de données tout en conservant les fonctionnalités et capacités spécifiques aux magasins. Le projet Spring Data MongoDB fournit une intégration avec la base de données de documents MongoDB. Les domaines fonctionnels clés de Spring Data MongoDB sont un modèle centré sur POJO pour interagir avec un Document
MongoDB et écrire facilement une couche d'accès aux données de style référentiel.
Ce projet est régi par le code de conduite de Spring. En participant, vous êtes censé respecter ce code de conduite. Veuillez signaler tout comportement inacceptable à [email protected].
Voici un aperçu rapide d'une application utilisant Spring Data Repositories en 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" ;
}
}
Ajoutez la dépendance Maven :
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
Si vous préférez les derniers instantanés de la prochaine version majeure, utilisez notre référentiel d'instantanés Maven et déclarez la version de dépendance appropriée.
< 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 >
Les instructions sur la mise à niveau à partir de versions antérieures de Spring Data sont fournies sur le wiki du projet. Suivez les liens dans la section notes de version pour trouver la version vers laquelle vous souhaitez effectuer la mise à niveau.
Vous rencontrez des problèmes avec Spring Data ? Nous serions ravis de vous aider !
Consultez la documentation de référence et Javadocs
Apprenez les bases de Spring – Spring Data s'appuie sur Spring Framework, consultez le site Web spring.io pour une multitude de documentation de référence. Si vous débutez avec Spring, essayez l'un des guides.
Si vous effectuez une mise à niveau, consultez le journal des modifications pour connaître les fonctionnalités « nouvelles et remarquables ».
Posez une question - nous surveillons stackoverflow.com pour les questions marquées avec spring-data-mongodb
. Vous pouvez également discuter avec la communauté sur Gitter.
Signalez les bogues avec Spring Data MongoDB sur github.com/spring-projects/spring-data-mongodb/issues.
Spring Data utilise Github comme système de suivi des problèmes pour enregistrer les bogues et les demandes de fonctionnalités. Si vous souhaitez soulever un problème, veuillez suivre les recommandations ci-dessous :
Avant de consigner un bug, veuillez effectuer une recherche dans le système de suivi des problèmes pour voir si quelqu'un a déjà signalé le problème.
Si le problème n'existe pas déjà, créez un nouveau problème.
Veuillez fournir autant d'informations que possible avec le rapport de problème, nous aimons connaître la version de Spring Data que vous utilisez, la version JVM, Stacktrace, etc.
Si vous devez coller du code ou inclure une trace de pile, utilisez les clôtures de code Markdown ```.
Le site spring.io contient plusieurs guides qui montrent comment utiliser Spring Data étape par étape :
Accéder aux données avec MongoDB est un guide très basique qui vous montre comment créer une application simple et comment accéder aux données à l'aide de référentiels.
Accéder aux données MongoDB avec REST est un guide pour créer un service Web REST exposant les données stockées dans MongoDB via des référentiels.
Spring Data Exemples contient des exemples de projets qui expliquent plus en détail des fonctionnalités spécifiques.
Vous n'avez pas besoin de construire à partir des sources pour utiliser Spring Data. Les binaires sont disponibles dans repo.spring.io et accessibles depuis Maven en utilisant la configuration Maven mentionnée ci-dessus.
Note | La configuration pour Gradle est similaire à celle de Maven. |
La meilleure façon de commencer est de créer un projet Spring Boot à l'aide de MongoDB sur start.spring.io. Suivez ce lien pour créer une application impérative et ce lien pour en créer une réactive.
Cependant, si vous souhaitez essayer la dernière et la meilleure version, Spring Data MongoDB peut être facilement construit avec le wrapper Maven et au minimum, JDK 17 (téléchargements JDK).
Afin de créer Spring Data MongoDB, vous devrez télécharger et installer une distribution MongoDB.
Une fois que vous avez installé MongoDB, vous devez démarrer un serveur MongoDB. Il est pratique de définir une variable d'environnement dans votre répertoire d'installation MongoDB (par exemple MONGODB_HOME
).
Pour exécuter la suite de tests complète, un jeu de réplicas MongoDB est requis.
Pour exécuter le serveur MongoDB, entrez la commande suivante à partir d'une ligne de commande :
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
Une fois le serveur MongoDB démarré, vous devriez voir le message ( msg
), " Connexion réussie à l'hôte ".
Notez l'option --dbpath
de la commande mongod
. Vous pouvez définir cela comme vous le souhaitez, mais dans ce cas, nous définissons le chemin absolu vers un sous-répertoire ( runtime/data/
) sous le répertoire d'installation de MongoDB (dans $MONGODB_HOME
).
Vous devez initialiser le jeu de réplicas MongoDB une seule fois lors du premier démarrage du serveur MongoDB. Pour initialiser le jeu de réplicas, démarrez un client mongo :
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
Saisissez ensuite la commande suivante :
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
Enfin, sur un système basé sur UNIX (par exemple Linux ou Mac OS X), vous devrez peut-être ajuster le ulimit
. Si vous en avez besoin, vous pouvez ajuster l' ulimit
avec la commande suivante (32768 n'est qu'une recommandation) :
$ ulimit -n 32768
Vous pouvez utiliser ulimit -a
à nouveau pour vérifier que l' ulimit
pour les " fichiers ouverts " a été défini de manière appropriée.
Vous êtes maintenant prêt à créer Spring Data MongoDB. Entrez simplement la commande mvnw
(Maven Wrapper) suivante :
$ ./mvnw clean install
Si vous souhaitez construire avec la commande mvn
standard, vous aurez besoin de Maven v3.8.0 ou supérieur.
Consultez également CONTRIBUTING.adoc si vous souhaitez soumettre des pull request, et en particulier, veuillez signer l'accord de contributeur avant votre premier changement non trivial.
Construire la documentation construit également le projet sans exécuter de tests.
$ ./mvnw clean install -Pantora
La documentation générée est disponible sur target/antora/site/index.html
.
Spring Data MongoDB est un logiciel Open Source publié sous la licence Apache 2.0.