POJO steht in Java für Plain Old Java Object. Es handelt sich um ein gewöhnliches Objekt, das keiner besonderen Einschränkung unterliegt. Für die POJO-Datei ist kein spezieller Klassenpfad erforderlich. Es erhöht die Lesbarkeit und Wiederverwendbarkeit eines Java-Programms.
Aufgrund ihrer einfachen Wartung erfreuen sich POJOs mittlerweile großer Akzeptanz. Sie sind leicht zu lesen und zu schreiben. Eine POJO-Klasse hat keine Namenskonvention für Eigenschaften und Methoden. Es ist an keine gebunden Java Rahmen; Jedes Java-Programm kann es verwenden.
Der Begriff POJO wurde eingeführt von Martin Fowler (Ein amerikanischer Softwareentwickler) im Jahr 2000. Es ist in Java ab EJB 3.0 von Sun Microsystem verfügbar.
Im Allgemeinen enthält eine POJO-Klasse Variablen und ihre Getter und Setter.
Die POJO-Klassen ähneln Beans, da beide zum Definieren der Objekte verwendet werden, um die Lesbarkeit und Wiederverwendbarkeit zu erhöhen. Der einzige Unterschied besteht darin, dass für Bean-Dateien einige Einschränkungen gelten, für POJO-Dateien jedoch keine besonderen Einschränkungen.
Beispiel:
Die POJO-Klasse wird zum Definieren der Objektentitäten verwendet. Beispielsweise können wir eine Mitarbeiter-POJO-Klasse erstellen, um ihre Objekte zu definieren.
Unten finden Sie ein Beispiel für eine Java-POJO-Klasse:
Employee.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; } }
Die obige Mitarbeiterklasse ist ein Beispiel für eine Mitarbeiter-POJO-Klasse. Wenn Sie mit Eclipse arbeiten, können Sie ganz einfach Setter und Getter generieren, indem Sie mit der rechten Maustaste auf das Java-Programm klicken und zu navigieren Quelle -> Getter und Setter generieren.
Klicken Sie mit der rechten Maustaste auf das Java-Programm und wählen Sie Getter und Setter generieren aus.
Klicken Sie nun auf Generieren Option unten im Generieren-Fenster. Setter und Getter werden automatisch generiert.
Was ist ein Android-Osterei?
Eigenschaften der POJO-Klasse
Nachfolgend sind einige Eigenschaften der POJO-Klasse aufgeführt:
- Die POJO-Klasse muss öffentlich sein.
- Es muss einen öffentlichen Standardkonstruktor haben.
- Es kann den Argumentkonstruktor haben.
- Alle Objekte müssen über öffentliche Getter und Setter verfügen, damit andere Java-Programme auf die Objektwerte zugreifen können.
- Das Objekt in der POJO-Klasse kann beliebige Zugriffsmodifikationen haben, z. B. privat, öffentlich, geschützt. Zur Verbesserung der Sicherheit des Projekts sollten jedoch alle Instanzvariablen privat sein.
- Eine POJO-Klasse sollte keine vordefinierten Klassen erweitern.
- Es sollte keine vorab festgelegten Schnittstellen implementieren.
- Es sollte keine vorab festgelegte Anmerkung enthalten.
Arbeiten der POJO-Klasse
Die POJO-Klasse ist eine Objektklasse, die die Geschäftslogik kapselt. In einer MVC-Architektur interagiert der Controller mit der Geschäftslogik, die mit der POJO-Klasse Kontakt aufnimmt, um auf die Daten zuzugreifen.
Nachfolgend finden Sie die Arbeitsweise der POJO-Klasse.
So verwenden Sie die POJO-Klasse in einem Java-Programm
Die POJO-Klasse wird erstellt, um die Objekte in anderen Java-Programmen zu verwenden. Der Hauptvorteil der POJO-Klasse besteht darin, dass wir in anderen Java-Programmen nicht jedes Mal Objekte erstellen müssen. Wir können einfach auf die Objekte zugreifen, indem wir die Methoden get() und set() verwenden.
Um auf die Objekte der POJO-Klasse zuzugreifen, führen Sie die folgenden Schritte aus:
- Erstellen Sie POJO-Klassenobjekte
- Legen Sie die Werte mit der Methode set() fest
- Rufen Sie die Werte mit der Methode get() ab
Erstellen Sie beispielsweise eine MainClass.java-Klassendatei innerhalb desselben Pakets und schreiben Sie den folgenden Code hinein:
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()); } }
Ausgabe:
Name: Alisha Id: A001 Salary: 200000.0
Aus dem obigen Beispiel können wir ersehen, dass wir auf die POJO-Klasseneigenschaften in MainClass.java zugegriffen haben.
list vs set in Java
POJO ähnelt Bean Class, daher kommt es häufig zu Verwechslungen. Sehen wir uns den Unterschied zwischen POJO und Bean an.
Java Bean
Java Bean-Klasse ist auch eine Objektklasse, die mehrere Objekte in einer einzigen Datei (Bean Class File) kapselt. Es gibt einige Unterschiede zwischen POJO und Bean.
Java POJO und Bean auf den Punkt gebracht:
- Alle Bean-Dateien können POJOs sein, aber nicht alle POJOs sind Beans.
- Alle Bean-Dateien können eine serialisierbare Schnittstelle implementieren, aber nicht alle POJOs können eine serialisierbare Schnittstelle implementieren.
- Beide Eigenschaften sollten privat sein, um die vollständige Kontrolle über die Felder zu haben.
- Eigenschaften müssen über Getter und Setter verfügen, um in anderen Java-Programmen darauf zugreifen zu können.
- Die Bean-Klasse ist eine Teilmenge der POJO-Klasse.
- Die Verwendung von POJO hat keinen großen Nachteil, die Verwendung der Bean-Klasse dürfte jedoch nur wenige Nachteile mit sich bringen.
- Das POJO wird verwendet, wenn wir Benutzern vollen Zugriff gewähren und unsere Mitglieder einschränken möchten. Und die Bean wird verwendet, wenn wir den Mitgliedern teilweisen Zugriff gewähren möchten.
POJO vs. Bohne
POJO | Bohne |
---|---|
In Pojo gibt es außer den Java-Konventionen keine besonderen Einschränkungen. | Es handelt sich um einen speziellen Typ von POJO-Dateien, für den neben den Java-Konventionen einige besondere Einschränkungen gelten. |
Im Vergleich zu Bean bietet es weniger Kontrolle über die Felder. | Es bietet vollständigen Schutz auf Feldern. |
Die POJO-Datei kann die Serializable-Schnittstelle implementieren; aber es ist nicht zwingend. | Die Bean-Klasse sollte die Serializable-Schnittstelle implementieren. |
Auf die POJO-Klasse kann über deren Namen zugegriffen werden. | Auf die Bean-Klasse kann nur mithilfe der Getter und Setter zugegriffen werden. |
Felder können beliebige Zugriffsmodifikatoren haben, z. B. „öffentlich“, „privat“ oder „geschützt“. | Felder können nur privaten Zugriff haben. |
In POJO ist es nicht notwendig, einen Konstruktor ohne Argumente zu haben; es kann es haben oder auch nicht. | Es muss einen Konstruktor ohne Argumente haben. |
Die Verwendung des POJO bringt keine Nachteile mit sich | Der Nachteil der Verwendung der Bean besteht darin, dass der Standardkonstruktor und der öffentliche Setter den Objektstatus ändern können, obwohl er unveränderlich sein sollte. |