En effet, les interfaces Repository de Spring Data apportent les méthodes de base de manipulation des entités : enregistrement, suppression, récupération, recherche.
Nous allons créer un projet Spring Data avec MongoDB.
Créer le projet Java
Nous allons maintenant tester l'utilisation de Spring Data avec MongoDB dans un projet Java.Pour cela, suivre les étapes suivantes :
- Créer un nouveau projet Java de type Maven
- Dans le fichier pom.xml, définir les dépendances suivantes :
- Créer le répertoire "src/main/java" à la racine du projet
- Dans le package "org.tuto.mongodb"
- Créer la classe de configuration Spring : ApplicationConfig
- Dans le package "org.tuto.mongodb.domain"
- Créer la classe de l'entité Book :
- Dans le package "org.tuto.mongodb.repository"
- Créer le repository : BookRepository
- Créer le répertoire "src/test/java" dans le projet
- Dans le package "org.tuto.mongodb.repository"
- Créer le test du repository : BookRepositoryTest
Explications
Le test BookRepositoryTest utilise à la fois le client Java de MongoDB et Spring Data.Nous créons des livres, recherchons et affichons les livres à l'aide de ces deux points d'accès vers MongoDB.
Le test fonctionne en trois temps :
- méthode before() : Initialisation de la base de test
- méthode search() : Test de Spring Data :
- méthode after() : Suppression de la base de test
La méthode search() permet de tester l'utilisation de Spring Data avec MongoDB.
Ici, nous créons un nouveau livre dans la collection book.
Ensuite, nous recherchons et affichons tous les livres de cette collection.
La méthode de suppression de la base de test after() recherche et affiche tous les livres de la collection book avant la suppression de la base. Cela permet d'afficher ce qui est présent dans MongoDB.
Lancement du test
- Exécuter la classe de test : BookRepositoryTest
- Ce test produit le résultat suivant :
Conclusion
Grâce à ce projet de test, nous avons notre laboratoire de test de MongoDB avec Spring Data.Références
- Spring Data : http://projects.spring.io/spring-data/
- Spring Data MongoDB : http://projects.spring.io/spring-data-mongodb/
- MongoDB : http://www.mongodb.org/