Clasa Java POJO – Plain Old Java Object

Până acum, am discutat și am folosit obiectele normale în Java. În acest articol, vom învăța un tip special de obiect POJO. POJO înseamnă Plain Old Java Object, care este utilizat pentru a crește capacitatea de reutilizare și lizibilitate a programului Java. Vom discuta despre modul de utilizare a clasei Java POJO și de ce este important să o învățăm.

Ținându-vă la curent cu cele mai recente tendințe tehnologice, alăturați-vă TechVidvan pe Telegram

Ce este clasa POJO în Java?

POJO înseamnă Plain Old Java Object, care este un obiect normal care nu este legat cu restricții speciale. Ele sunt legate doar cu unele restricții privind specificațiile limbajului Java. Pur și simplu, POJO acționează ca o structură de date pură care are metode getter și setter. Obiectele POJO nu au nevoie de niciun classpath. POJO este cea mai utilizată clasă din Java, deoarece este foarte ușor de scris și de înțeles. Sun Microsystems a introdus clasa POJO în Java în EJB 3.0.

Clasa POJO poate suprascrie anumite metode, cum ar fi Serializable sau, de asemenea, din clasa Object.

Un POJO nu trebuie să facă următoarele:

1. O clasă POJO nu trebuie să extindă clasele predefinite, cum ar fi HttpServlet, Arrays, Calendar, etc. De exemplu, dacă scriem, public class MyClass extends javax.servlet.http.HttpServlet, atunci clasa MyClass nu poate fi considerată o clasă POJO.

2. O clasă POJO nu trebuie să conțină adnotări predefinite. De exemplu, @Retention(RetentionPolicy.RUNTIME) public class MyClass{..} nu este o clasă POJO.

3. O clasă POJO nu poate implementa interfețe predefinite. De exemplu, public class Test implements javax.ejb.EntityBean { … } nu poate fi considerată o clasă POJO.

Acum, haideți să implementăm clasa POJO în Java.

Exemplu de clasă POJO

Clasa POJO definește în general o entitate. De exemplu, dacă doriți o clasă Intern, atunci puteți crea o POJO după cum urmează:

// 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; }}

Exemplul de mai sus arată clar o clasă POJO bine definită. În acest exemplu, puteți vedea că modificatorii de acces ai câmpurilor nu sunt restricționați. Acestea pot avea orice modificatori de acces, cum ar fi public, private, default sau protected. Puteți observa, de asemenea, că în clasa POJO nu este nevoie să adăugați niciun constructor.

Puteți utiliza clasa POJO în orice cod Java. Clasa POJO nu este legată de framework. Dar nu putem implementa această clasă POJO cu nicio convenție reală pentru a schimba starea clasei.

POJO se comportă ca un obiect care încorporează logica de afaceri a aplicației. Figura următoare prezintă funcționarea unei clase POJO. Din imagine, se poate vedea clar că controlerul interacționează cu logica de afaceri. Logica de afaceri, la rândul ei, interacționează cu clasa POJO pentru a obține acces la baza de date.

Ce sunt Java Beans?

Java Beans sunt un tip special de POJO-uri. Dar există unele restricții pentru ca Java beans să devină POJO. Aceste restricții sunt următoarele:

1. Toate JavaBeans pot fi POJO, dar toate clasele POJO nu pot fi Java Beans.

2. Java Beans trebuie să implementeze interfața Serializable.

3. Toate câmpurile Java Beans trebuie să fie private pentru a oferi un control complet asupra câmpurilor.

4. Toate câmpurile trebuie să aibă fie metode getter sau setter sau ambele.

5. Trebuie să existe un constructor fără argument într-un bean.

6. Putem accesa câmpurile doar prin constructor sau getter setter.

Cod pentru a înțelege 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()); }}

Output:
Numele elevului este: Rita

Clasa POJO Java vs Java Bean

Acum că am discutat atât despre clasa POJO cât și despre Java Bean, să discutăm despre diferențele dintre ele:

POJO JAVA BEAN
Nu există alte restricții asupra clasei POJO decât cele impuse de limbajul de specificații Java. Java Bean este o clasă POJO specială care are unele restricții.
Clasa POJO nu oferă mult control asupra câmpurilor. Java Bean oferă un control complet asupra membrilor.
Clasa POJO poate sau nu să implementeze o interfață Serializable. Un Java Bean trebuie să implementeze o interfață Serializable.
Pot fi accesate direct câmpurile prin numele lor Pot fi accesate câmpurile din interiorul Java Bean doar prin metodele getters și setters.
Pot exista oricare dintre modificatorii de acces pentru câmpuri. Câmpurile din Java Bean trebuie să fie numai private.
Pot exista sau nu un constructor fără argument în clasa POJO. Trebuie să existe un constructor no-arg în Java Beans.
Utilizăm clasa POJO atunci când nu este nevoie să punem restricții asupra câmpurilor și poate exista un acces complet asupra câmpurilor. Utilizăm Java Beans atunci când nu dorim să oferim acces complet asupra entităților.

Concluzie

Am învățat clasa POJO în Java care îmbunătățește lizibilitatea codului. De asemenea, am discutat despre entități din viața reală. Clasa JavaBeans este aproape similară cu clasa POJO din Java, dar are și câteva diferențe pe care le-am discutat în acest articol. Sperăm că poate ați înțeles funcționarea și implementarea clasei POJO în Java.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.