POJO en Java signifie Plain Old Java Object. Il s’agit d’un objet ordinaire, qui n’est soumis à aucune restriction particulière. Le fichier POJO ne nécessite aucun chemin de classe spécial. Il augmente la lisibilité et la réutilisation d'un programme Java.
Les POJO sont désormais largement acceptés en raison de leur facilité d’entretien. Ils sont faciles à lire et à écrire. Une classe POJO n'a aucune convention de dénomination pour les propriétés et les méthodes. Il n'est lié à aucun Java Cadre; n'importe quel programme Java peut l'utiliser.
Le terme POJO a été introduit par Martin Fowler (Développeur de logiciels américain) en 2000. Il est disponible en Java à partir des EJB 3.0 de Sun Microsystem.
Généralement, une classe POJO contient des variables et leurs Getters et Setters.
Les classes POJO sont similaires aux Beans car les deux sont utilisées pour définir les objets afin d'augmenter la lisibilité et la réutilisation. La seule différence entre eux est que les fichiers Bean ont certaines restrictions, mais les fichiers POJO n'ont pas de restrictions particulières.
Exemple:
La classe POJO est utilisée pour définir les entités d'objet. Par exemple, nous pouvons créer une classe Employee POJO pour définir ses objets.
Vous trouverez ci-dessous un exemple de classe Java POJO :
Employé.java :
// POJO class Exmaple package Jtp.PojoDemo; public class Employee { private String name; private String id; private double sal; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public double getSal() { return sal; } public void setSal(double sal) { this.sal = sal; } }
La classe d'employés ci-dessus est un exemple de classe POJO d'employé. Si vous travaillez sur Eclipse, vous pouvez facilement générer des Setters et des Getters en cliquant avec le bouton droit sur le programme Java et en accédant à Source-> Générer des getters et des setters.
Cliquez avec le bouton droit sur le programme Java et sélectionnez Générer des getters et des setters.
Maintenant, cliquez sur le Générer option donnée en bas de la fenêtre Générer. Il générera automatiquement des setters et des getters.
répertoire dans les commandes Linux
Propriétés de la classe POJO
Voici quelques propriétés de la classe POJO :
- La classe POJO doit être publique.
- Il doit avoir un constructeur public par défaut.
- Il peut avoir le constructeur d'arguments.
- Tous les objets doivent avoir des Getters et Setters publics pour accéder aux valeurs de l'objet par d'autres programmes Java.
- L'objet de la classe POJO peut avoir n'importe quelle modification d'accès telle que privée, publique, protégée. Mais toutes les variables d’instance doivent être privées pour améliorer la sécurité du projet.
- Une classe POJO ne doit pas étendre les classes prédéfinies.
- Il ne doit pas implémenter d'interfaces prédéfinies.
- Il ne doit avoir aucune annotation prédéfinie.
Fonctionnement de la classe POJO
La classe POJO est une classe d'objets qui encapsule la logique métier. Dans une architecture MVC, le contrôleur interagit avec la logique métier, qui contacte la classe POJO pour accéder aux données.
Vous trouverez ci-dessous le fonctionnement de la classe POJO.
Comment utiliser la classe POJO dans un programme Java
La classe POJO est créée pour utiliser les objets dans d'autres programmes Java. L'avantage majeur de la classe POJO est que nous n'aurons pas à créer des objets à chaque fois dans d'autres programmes Java. Nous pouvons simplement accéder aux objets en utilisant les méthodes get() et set().
Pour accéder aux objets de la classe POJO, suivez les étapes ci-dessous :
mathématiques pow java
- Créer un objet de classe POJO
- Définissez les valeurs à l'aide de la méthode set()
- Récupérez les valeurs en utilisant la méthode get()
Par exemple, créez un fichier de classe MainClass.java dans le même package et écrivez-y le code suivant :
MainClass.java :
//Using POJO class objects in MainClass Java program package Jtp.PojoDemo; public class MainClass { public static void main(String[] args) { // Create an Employee class object Employee obj= new Employee(); obj.setName('Alisha'); // Setting the values using the set() method obj.setId('A001'); obj.setSal(200000); System.out.println('Name: '+ obj.getName()); //Getting the values using the get() method System.out.println('Id: ' + obj.getId()); System.out.println('Salary: ' +obj.getSal()); } }
Sortir:
Name: Alisha Id: A001 Salary: 200000.0
À partir de l'exemple ci-dessus, nous pouvons voir que nous avons accédé aux propriétés de la classe POJO dans MainClass.java.
POJO est similaire à Bean Class, donc les gens les confondent souvent ; voyons la différence entre le POJO et Bean.
Haricots Java
Classe de bean Java est également une classe d'objets qui encapsule plusieurs objets dans un seul fichier ( Bean Class File). Il existe quelques différences entre POJO et Bean.
Java POJO et Bean en un mot :
- Tous les fichiers Bean peuvent être des POJO, mais tous les POJO ne sont pas des beans.
- Tous les fichiers Bean peuvent implémenter une interface sérialisable, mais tous les POJO ne peuvent pas implémenter une interface sérialisable.
- Les deux propriétés doivent être privées pour avoir un contrôle total sur les champs.
- Les propriétés doivent avoir les getters et setter pour y accéder dans d'autres programmes Java.
- La classe Bean est un sous-ensemble de la classe POJO.
- Il n’y a pas d’inconvénient majeur à utiliser POJO, mais l’utilisation de la classe Bean peut présenter quelques inconvénients.
- Le POJO est utilisé lorsque nous souhaitons fournir un accès complet aux utilisateurs et restreindre nos membres. Et le Bean est utilisé lorsque nous souhaitons fournir un accès partiel aux membres.
POJO contre. Haricot
POJO | Haricot |
---|---|
Dans Pojo, il n'y a pas de restrictions particulières autres que les conventions Java. | Il s'agit d'un type spécial de fichiers POJO, qui comportent des restrictions particulières autres que les conventions Java. |
Il offre moins de contrôle sur les champs par rapport à Bean. | Il offre une protection complète sur les champs. |
Le fichier POJO peut implémenter l'interface Serialisable ; mais ce n’est pas obligatoire. | La classe Bean doit implémenter l'interface Serialisable. |
La classe POJO est accessible en utilisant leurs noms. | La classe Bean n'est accessible qu'en utilisant les getters et les setters. |
Les champs peuvent avoir n'importe lequel des modificateurs d'accès tels que public, privé, protégé. | Les champs ne peuvent avoir qu'un accès privé. |
Dans POJO, il n'est pas nécessaire d'avoir un constructeur sans argument ; il peut l'avoir ou non. | Il doit avoir un constructeur sans argument. |
Il n'y a aucun inconvénient à utiliser le POJO | L'inconvénient de l'utilisation du Bean est que le constructeur par défaut et le setter public peuvent modifier l'état de l'objet alors qu'il devrait être immuable. |