Classe Java POJO

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez découvrir les Plain Old Java Objects, communément appelés POJOs, et leurs conventions. Vous allez également apprendre sur les classes Java Bean. À la fin de ce laboratoire, vous serez capable de :

Créez une classe POJO

Dans cette étape, nous allons créer une classe POJO nommée Sample. Une classe POJO peut être créée de n'importe quelle manière et n'a pas besoin de suivre de conventions.

// Classe POJO d'échantillonnage
public class Sample{
    public String field1;
    private int field2;
    double field3;

    Sample(String s, int i, double d){
        this.field1 = s;
        this.field2 = i;
        this.field3 = d;
    }

    public String getField1(){
        return field1;
    }

    public double getField3(){
        return field3;
    }
}

Enregistrez le fichier et compilez-le dans le terminal à l'aide des commandes suivantes :

cd ~/projet
javac Sample.java

Comprenez la classe POJO

Dans cette étape, nous allons exécuter la classe Sample et voir comment elle fonctionne.

public class Main{
    public static void main(String[] args) {
        Sample sample = new Sample("champ 1", 100, 123,45);

        System.out.println("Champ 1 : " + sample.field1);
        System.out.println("Champ 2 : " + sample.field2);
        System.out.println("Champ 3 : " + sample.field3);
    }
}

Enregistrez le fichier et exécutez-le dans le terminal à l'aide des commandes suivantes :

java Main

Comprenez l'API de réflexion

Dans cette étape, nous allons utiliser l'API de réflexion pour examiner les propriétés de la classe Sample. L'API de réflexion est un outil puissant qui vous permet d'inspecter et de modifier le comportement d'une application.

import org.apache.commons.beanutils.BeanUtils;
import java.util.Map;

public class Main {
    public static void main(String[] args) throws Exception {
        Sample s = new Sample("f1", 0, 0.0);
        try {
            Map<String, Object> properties = BeanUtils.describe(s);
            for (Map.Entry<String, Object> e : properties.entrySet())
                System.out.println(e.getKey() + "->" + e.getValue());
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}

Enregistrez le fichier et compilez-le dans le terminal à l'aide de la commande suivante :

cd ~/projet
javac -cp.:commons-beanutils-1.9.4.jar Main.java

Le drapeau -cp est utilisé ici pour spécifier le chemin de classe. :commons-beanutils-1.9.4.jar est le chemin du package commons-beanutils. Pour exécuter le fichier compilé, utilisez la commande suivante :

java -cp.:commons-beanutils-1.9.4.jar Main

Créez une classe Java Bean

Dans cette étape, nous allons convertir la classe POJO Sample en une classe Java Bean. Une classe Java Bean est un POJO qui suit certaines conventions et règles.

import java.io.Serializable;

public class Sample implements Serializable{
    private String field1;
    private int field2;
    private double field3;

    public Sample(){}

    public Sample(String s, int i, double d){
        this.field1 = s;
        this.field2 = i;
        this.field3 = d;
    }

    public String getField1(){
        return field1;
    }

    public void setField1(String field1){
        this.field1 = field1;
    }

    public int getField2(){
        return field2;
    }

    public void setField2(int field2){
        this.field2 = field2;
    }

    public double getField3(){
        return field3;
    }

    public void setField3(double field3){
        this.field3 = field3;
    }
}

Comprenez la classe Java Bean

Dans cette étape, nous allons exécuter la classe Sample et voir comment elle fonctionne.

public class Main{
    public static void main(String[] args) {
        Sample sample = new Sample();
        sample.setField1("champ 1");
        sample.setField2(100);
        sample.setField3(123,45);

        System.out.println("Champ 1 : " + sample.getField1());
        System.out.println("Champ 2 : " + sample.getField2());
        System.out.println("Champ 3 : " + sample.getField3());
    }
}

Enregistrez le fichier et compilez-le dans le terminal à l'aide des commandes suivantes :

cd ~/projet
javac Main.java

Comprenez l'API de réflexion

Dans cette étape, nous allons à nouveau utiliser l'API de réflexion pour examiner les propriétés de la classe Sample.

public class Main {
    public static void main(String[] args) throws Exception {
        Sample s = new Sample("f1", 0, 0.0);
        try {
            Map<String, Object> properties = BeanUtils.describe(s);
            for (Map.Entry<String, Object> e : properties.entrySet())
                System.out.println(e.getKey() + "->" + e.getValue());
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}

Enregistrez le fichier et compilez-le dans le terminal à l'aide des commandes suivantes :

cd ~/projet
javac -cp.:commons-beanutils-1.9.4.jar Main.java

Le drapeau -cp est utilisé ici pour spécifier le chemin de classe. :commons-beanutils-1.9.4.jar est le chemin du package commons-beanutils. Pour exécuter le fichier compilé, utilisez la commande suivante :

java -cp.:commons-beanutils-1.9.4.jar Main

Comprenez la sérialisation des classes Java Bean

Dans cette étape, nous allons utiliser la sérialisation pour stocker un objet de la classe Sample dans un fichier. La sérialisation est utilisée pour convertir un objet en un flux d'octets, qui peut être enregistré sur le disque ou envoyé sur un réseau.

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        Sample s = new Sample("f1", 0, 0.0);
        try {
            FileOutputStream fos = new FileOutputStream("sample.ser");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(s);
            oos.close();
            fos.close();
            System.out.println("L'objet a été sérialisé");
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}

Enregistrez le fichier et compilez-le dans le terminal à l'aide des commandes suivantes :

cd ~/projet
javac Main.java

Exécutez le fichier compilé à l'aide de la commande suivante :

java Main

Comprenez la désérialisation des classes Java Bean

Dans cette étape, nous allons utiliser la désérialisation pour lire un objet de la classe Sample à partir d'un fichier. La désérialisation est utilisée pour convertir un flux d'octets en retour dans un objet.

import java.io.FileInputStream;
import java.io.ObjectInputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        try {
            FileInputStream fis = new FileInputStream("sample.ser");
            ObjectInputStream ois = new ObjectInputStream(fis);
            Sample s = (Sample) ois.readObject();
            ois.close();
            fis.close();
            System.out.println("L'objet a été désérialisé");
            System.out.println("Champ 1 : " + s.getField1());
            System.out.println("Champ 2 : " + s.getField2());
            System.out.println("Champ 3 : " + s.getField3());
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}

Enregistrez le fichier et compilez-le dans le terminal à l'aide des commandes suivantes :

cd ~/projet
javac Main.java

Exécutez le fichier compilé à l'aide de la commande suivante :

java Main

Sommaire

Dans ce laboratoire, vous avez appris à connaître les POJO et leur rôle en programmation Java. Vous avez appris à créer une classe POJO et la différence entre une classe POJO et une classe Java Bean. Vous avez appris à convertir une classe POJO en une classe Java Bean et à utiliser l'API de réflexion pour examiner les propriétés d'une classe Java Bean. Enfin, vous avez appris à sérialiser et à désérialiser un objet Java Bean.