Java POJO Klasse – Plain Old Java Object
Bis jetzt haben wir die normalen Objekte in Java besprochen und benutzt. In diesem Artikel werden wir eine besondere Art von Objekten kennenlernen: POJO. POJO steht für Plain Old Java Object, das verwendet wird, um die Wiederverwendbarkeit und Lesbarkeit des Java-Programms zu erhöhen. Wir werden besprechen, wie man die Java POJO Klasse benutzt und warum es wichtig ist, sie zu lernen.
Bleiben Sie auf dem Laufenden mit den neuesten Technologietrends, schließen Sie sich TechVidvan auf Telegram an
Was ist die POJO Klasse in Java?
POJO steht für Plain Old Java Object, welches ein normales Objekt ist, das nicht mit speziellen Einschränkungen gebunden ist. Sie sind nur mit einigen Einschränkungen an die Java-Sprachenspezifikationen gebunden. POJO fungiert einfach als reine Datenstruktur, die Getter- und Setter-Methoden hat. POJO-Objekte benötigen keinen Klassenpfad. POJO ist die am häufigsten verwendete Klasse in Java, weil sie sehr einfach zu schreiben und zu verstehen ist. Sun Microsystems führte die POJO-Klasse in Java in EJB 3.0.
POJO-Klassen können bestimmte Methoden wie Serializable oder auch von der Object-Klasse überschreiben.
Ein POJO darf Folgendes nicht tun:
1. Eine POJO-Klasse darf die vordefinierten Klassen wie HttpServlet, Arrays, Calendar usw. nicht erweitern. Wenn wir zum Beispiel schreiben, public class MyClass extends javax.servlet.http.HttpServlet, dann kann die Klasse MyClass nicht als POJO-Klasse betrachtet werden.
2. Eine POJO-Klasse sollte keine vordefinierten Annotationen enthalten. Zum Beispiel ist @Retention(RetentionPolicy.RUNTIME) public class MyClass{..} keine POJO-Klasse.
3. Eine POJO-Klasse kann keine vordefinierten Schnittstellen implementieren. Zum Beispiel public class Test implements javax.ejb.EntityBean { … } kann nicht als POJO-Klasse betrachtet werden.
Nun, lassen Sie uns die POJO-Klasse in Java implementieren.
Beispiel einer POJO-Klasse
Die POJO-Klasse definiert im Allgemeinen eine Entität. Wenn Sie zum Beispiel eine Intern-Klasse wollen, können Sie eine POJO-Klasse wie folgt erstellen:
// 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; }}
Das obige Beispiel zeigt deutlich eine gut definierte POJO-Klasse. In diesem Beispiel können Sie sehen, dass die Zugriffsmodifikatoren der Felder nicht eingeschränkt sind. Sie können beliebige Zugriffsmodifikatoren wie public, private, default oder protected haben. Sie können auch feststellen, dass in der POJO-Klasse kein Konstruktor hinzugefügt werden muss.
Wir können die POJO-Klasse in jedem Java-Code verwenden. Die POJO-Klasse ist nicht an das Framework gebunden. Aber wir können diese POJO-Klasse nicht mit irgendwelchen echten Konventionen implementieren, um den Zustand der Klasse zu ändern.
POJO verhält sich wie ein Objekt, das die Geschäftslogik der Anwendung enthält. Die folgende Abbildung zeigt die Funktionsweise einer POJO-Klasse. In der Abbildung ist deutlich zu erkennen, dass der Controller mit der Geschäftslogik interagiert. Die Geschäftslogik wiederum interagiert mit der POJO-Klasse, um Zugriff auf die Datenbank zu erhalten.
Was sind Java Beans?
Java Beans sind eine spezielle Art von POJOs. Aber es gibt einige Einschränkungen für Java Beans, um POJO zu werden. Diese Einschränkungen sind wie folgt:
1. Alle JavaBeans können POJOs sein, aber alle POJO-Klassen können nicht Java Beans sein.
2. Java Beans sollten die Serializable-Schnittstelle implementieren.
3. Alle Felder der Java Beans sollten privat sein, um die vollständige Kontrolle über die Felder zu gewährleisten.
4. Alle Felder sollten entweder Getter- oder Setter-Methoden oder beide haben.
5. Es muss einen no-arg Konstruktor in einer Bean geben.
6. Wir können auf die Felder nur durch Konstruktor oder Getter Setter zugreifen.
Code zum Verständnis von 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()); }}
Ausgabe:
Der Name des Schülers ist: Rita
Java POJO Class vs Java Bean
Nun, da wir sowohl die POJO-Klasse als auch die Java Beans besprochen haben, lassen Sie uns die Unterschiede zwischen ihnen besprechen:
POJO | JAVA BEAN |
Es gibt keine Einschränkungen für die POJO-Klasse, außer denen, die von der Java-Spezifikationssprache erzwungen werden. | Java Bean ist eine spezielle POJO-Klasse, die einige Einschränkungen hat. |
Die POJO-Klasse bietet nicht viel Kontrolle über die Felder. | Java Bean bietet vollständige Kontrolle über die Mitglieder. |
Die POJO-Klasse kann eine serialisierbare Schnittstelle implementieren oder nicht. | Eine Java Bean muss eine serialisierbare Schnittstelle implementieren. |
Wir können direkt auf die Felder über ihre Namen zugreifen | Wir können auf die Felder innerhalb der Java Bean nur über Getter- und Setter-Methoden zugreifen. |
Es kann beliebige Zugriffsmodifikatoren für Felder geben. | Felder in Java Beans dürfen nur privat sein. |
Es kann einen no-arg-Konstruktor in der POJO-Klasse geben oder nicht. | Es muss einen no-arg-Konstruktor in Java Beans geben. |
Wir verwenden die POJO-Klasse, wenn es keine Notwendigkeit gibt, die Felder einzuschränken, und wenn es einen vollständigen Zugriff auf die Felder geben kann. | Wir verwenden Java Beans, wenn wir keinen vollständigen Zugriff auf die Entitäten gewähren wollen. |
Abschluss
Wir haben die POJO-Klasse in Java kennen gelernt, die die Lesbarkeit des Codes verbessert. Wir haben auch über reale Entitäten gesprochen. Die JavaBeans sind der POJO-Klasse in Java sehr ähnlich, haben aber auch einige Unterschiede, die wir in diesem Artikel besprochen haben. Wir hoffen, dass Sie die Funktionsweise und Implementierung der POJO-Klasse in Java verstanden haben.