Java POJO class – Plain Old Java Object
Jusqu’à présent, nous avons discuté et utilisé les objets normaux en Java. Dans cet article, nous allons apprendre un type spécial d’objet POJO. POJO signifie Plain Old Java Object, qui est utilisé pour augmenter la réutilisabilité et la lisibilité du programme Java. Nous discuterons de la façon d’utiliser la classe POJO de Java et pourquoi il est important de l’apprendre.
Vous gardant à jour avec les dernières tendances technologiques, rejoignez TechVidvan sur Telegram
Qu’est-ce que la classe POJO en Java?
POJO signifie Plain Old Java Object qui est un objet normal qui n’est pas lié avec des restrictions spéciales. Ils sont seulement liés avec certaines restrictions sur les spécifications du langage Java. Simplement, POJO agit comme une structure de données pure qui a des méthodes getter et setter. Les objets POJO ne nécessitent pas de classpath. POJO est la classe la plus utilisée en Java car elle est très facile à écrire et à comprendre. Sun Microsystems a introduit la classe POJO en Java dans EJB 3.0.
La classe POJO peut surcharger certaines méthodes telles que Serializable ou aussi de la classe Object.
Une classe POJO ne doit pas faire ce qui suit :
1. Une classe POJO ne doit pas étendre les classes prédéfinies telles que HttpServlet, Arrays, Calendar, etc. Par exemple, si nous écrivons, public class MyClass extends javax.servlet.http.HttpServlet, alors la classe MyClass ne peut pas être considérée comme une classe POJO.
2. Une classe POJO ne doit pas contenir d’annotations prédéfinies. Par exemple, @Retention(RetentionPolicy.RUNTIME) public class MyClass{..} n’est pas une classe POJO.
3. Une classe POJO ne peut pas implémenter des interfaces prédéfinies. Par exemple, public class Test implements javax.ejb.EntityBean {… } ne peut pas être considéré comme une classe POJO.
Maintenant, implémentons la classe POJO en Java.
Exemple de classe POJO
La classe POJO définit généralement une entité. Par exemple, si vous voulez une classe Intern, alors vous pouvez créer une POJO comme suit :
// Intern POJO class to represent entity Internpublic class Intern { // default field String name; // public field public String role; // private field private double salary; //arg-constructor to initialize fields public Intern(String name, String role, double salary) { this.name = name; this.role = role; this.salary = salary; } // getter method for name public String getName() { return name; } // getter method for role public String getRole() { return role; } // getter method for salary public Double getSalary() { return salary; }}
L’exemple ci-dessus montre clairement une classe POJO bien définie. Dans cet exemple, vous pouvez voir que les modificateurs d’accès des champs ne sont pas limités. Ils peuvent avoir n’importe quel modificateur d’accès comme public, private, default ou protected. Vous pouvez également noter que dans la classe POJO, il n’est pas nécessaire d’ajouter un constructeur.
Nous pouvons utiliser la classe POJO dans n’importe quel code Java. La classe POJO n’est pas liée au framework. Mais nous ne pouvons pas mettre en œuvre cette classe POJO avec de véritables conventions pour changer l’état de la classe.
La classe POJO se comporte comme un objet qui incorpore la logique métier de l’application. La figure suivante montre le fonctionnement d’une classe POJO. À partir de l’image, vous pouvez clairement voir que le contrôleur interagit avec la logique métier. La logique métier, à son tour, interagit avec la classe POJO pour obtenir l’accès à la base de données.
Que sont les Java Beans?
Les Java Beans sont un type spécial de POJO. Mais il y a quelques restrictions sur les Java beans pour devenir des POJO. Ces restrictions sont les suivantes :
1. Tous les JavaBeans peuvent être des POJO mais toutes les classes POJO ne peuvent pas être des Java Beans.
2. Les Java Beans doivent implémenter l’interface Serializable.
3. Tous les champs des Java Beans doivent être privés pour fournir un contrôle complet sur les champs.
4. Tous les champs doivent avoir des méthodes getter ou setter ou les deux.
5. Il doit y avoir un constructeur sans argument dans un bean.
6. Nous pouvons accéder aux champs seulement par des constructeurs ou des setters getter.
Code pour comprendre les JavaBeans
package com.techvidvan.pojoclass;import java.io. * ;class Student implements java.io.Serializable { private int id; private String name; public Student() {} public void setId(int id) { this.id = id; } public int getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; }}public class Test { public static void main(String args) { Student s = new Student(); //object is created s.setName("Rita"); //setting value to the object System.out.println("Name of the student is: " + s.getName()); }}
Sortie:
Nom de l’étudiant est : Rita
Java Classe POJO vs Java Bean
Maintenant que nous avons discuté à la fois de la classe POJO et des Java beans, discutons des différences entre eux :
POJO | JAVA BEAN |
Il n’y a aucune restriction sur la classe POJO autre que celles forcées par le langage de spécification Java. | Le Java Bean est une classe POJO spéciale qui a quelques restrictions. |
La classe POJO ne fournit pas beaucoup de contrôle sur les champs. | Le Java Bean fournit un contrôle complet sur les membres. |
La classe POJO peut ou non implémenter une interface Serializable. | Un Java Bean doit implémenter une interface Serializable. |
Nous pouvons accéder directement aux champs par leurs noms | Nous pouvons accéder aux champs à l’intérieur du Java Bean uniquement par les méthodes getters et setters. |
Il peut y avoir n’importe lequel des modificateurs d’accès pour les champs. | Les champs dans les Java Beans doivent être uniquement privés. |
Il peut y avoir ou non un constructeur sans argument dans la classe POJO. | Il doit y avoir un constructeur no-arg dans les Java Beans. |
On utilise la classe POJO quand il n’y a pas besoin de mettre des restrictions sur les champs et qu’il peut y avoir un accès complet sur les champs. | Nous utilisons les Java Beans lorsque nous ne voulons pas donner un accès complet aux entités. |
Conclusion
Nous avons appris la classe POJO en Java qui améliore la lisibilité du code. Nous avons également discuté des entités de la vie réelle. Le JavaBeans est presque similaire à la classe POJO de Java mais il a aussi quelques différences que nous avons discutées dans cet article. Nous espérons que vous avez compris le fonctionnement et la mise en œuvre de la classe POJO en Java.