Serialisation d'un objet JAVA en XML avec JAXB


La sérialisation permet de convertir les objets JAVA en Bytes pour les envois réseaux, mais parfois on a besoin d’un format de fichier intermédiaire tel que XML, pour assurer la compatibilité entre différentes plateformes.
Dans ce tutoriel on va apprendre à sérialiser n’importe quel objet JAVA en XML avec les API JAXB de ORACLE.
JAXB : permettant de créer des classes Java à partir de schémas et inversement. Elle facilite l'utilisation du XML en Java en compilant un schéma XML dans une ou plusieurs classes.
Prérequis :
IDE : Eclipse, STS.
On va créer un simple projet JAVA avec 3 packages, afin de séparer les modèles (classe à traiter), la classe de conversion, et la classe pour tester (contenant une méthode main).
  














On commence par créer la classe à sérialiser :
Adherent.java

























remarquez  qu'on a utilisé l'annotation @XmlRootElement pour permettre le mapping entre la classe et le XML.

ensuite on va créer la classe contenant les éléments nécessaires pour la serialisation qu'on la nommera :
ObjectToXml.java



  • JAXBContext : le point d'entré pour utiliser l'API JAXB.
  • MarShaller : c'est l'objet qui permet de formatter le document XML.
  • StringWriter : est l'objet qui permet de créer un flux a partir d'un objet JAVA, n'oubliez jamais d'utiliser close() à la fin du traitement.
vous pouvez remarquez qu'on a utiliser un fabrique qui permettra d'enregistrer le fichier en concaténant le nom de la classe de l'objet à sérialiser et la date/heure du traitement plus l'extension .xml (utile pour l'automatisation des traitement).

Finalement, la classe contenant la méthode main() pour pouvoir tester l'application :
ExecSerialisation.java






















remarquez que cette application pourra sérialiser n'importe quelle classe écrite en java.
vous n'avez plus qu'a l’exécuter en tant qu'une application Java.
voici le résultat :


Allez à vos claviers.


Commentaires

Posts les plus consultés de ce blog

Restful API with MULE ESB