24 décembre 2013

MongoDB + Spring Data

Spring Data permet de simplifier l'utilisation de MongoDB.

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
L'initialisation et la suppression de la base s'effectuent à l'aide du client Java de MongoDB.Durant l'initialisation, nous créons 5 livres dans la collection book.

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