logo

POJO

POJO în Java înseamnă Plain Old Java Object. Este un obiect obișnuit, care nu este legat de nicio restricție specială. Fișierul POJO nu necesită nicio cale de clasă specială. Mărește lizibilitatea și reutilizarea unui program Java.

POJO-urile sunt acum acceptate pe scară largă datorită întreținerii lor ușoare. Sunt ușor de citit și de scris. O clasă POJO nu are nicio convenție de denumire pentru proprietăți și metode. Nu este legat de niciunul Java Cadru; orice program Java îl poate folosi.

Termenul POJO a fost introdus de Martin Fowler (Un dezvoltator de software american) în 2000. este disponibil în Java de la EJB 3.0 by sun microsystem.

În general, o clasă POJO conține variabile și Getters și Setters.

Clasele POJO sunt similare cu Beans, deoarece ambele sunt folosite pentru a defini obiectele pentru a crește lizibilitatea și reutilizarea. Singura diferență dintre ele este că fișierele Bean au anumite restricții, dar fișierele POJO nu au restricții speciale.

Exemplu:

Clasa POJO este folosită pentru a defini entitățile obiect. De exemplu, putem crea o clasă Employee POJO pentru a-și defini obiectele.

Mai jos este un exemplu de clasă Java POJO:

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

Clasa de angajați de mai sus este un exemplu de clasă POJO de angajat. Dacă lucrați la Eclipse, puteți genera cu ușurință setări și gettere făcând clic dreapta pe programul Java și navigați la Sursă-> Generați Getters și Setters.

POJO

Faceți clic dreapta pe programul Java și selectați Generare getters și setters.

POJO

Acum, faceți clic pe Genera opțiunea oferită în partea de jos a ferestrei Generare. Acesta va genera automat setter-uri și gettere.

înlocuiți o culoare în gimp

Proprietăți ale clasei POJO

Mai jos sunt câteva proprietăți ale clasei POJO:

  • Clasa POJO trebuie să fie publică.
  • Trebuie să aibă un constructor public implicit.
  • Poate avea constructorul de argumente.
  • Toate obiectele trebuie să aibă niște Getters și Setters publici pentru a accesa valorile obiectului prin alte programe Java.
  • Obiectul din clasa POJO poate avea orice modificare de acces, cum ar fi privat, public, protejat. Dar, toate variabilele de instanță ar trebui să fie private pentru o securitate îmbunătățită a proiectului.
  • O clasă POJO nu ar trebui să extindă clasele predefinite.
  • Nu ar trebui să implementeze interfețe prestabilite.
  • Nu ar trebui să aibă nicio adnotare prespecificată.

Funcționează clasa POJO

Clasa POJO este o clasă de obiecte care încapsulează logica Business. Într-o arhitectură MVC, controlerul interacționează cu logica de afaceri, care contactează cu clasa POJO pentru a accesa datele.

Mai jos este modul de lucru al clasei POJO.

POJO

Cum să utilizați clasa POJO într-un program Java

Clasa POJO este creată pentru a utiliza obiectele din alte programe Java. Avantajul major al clasei POJO este că nu va trebui să creăm obiecte de fiecare dată în alte programe Java. Pur și simplu putem accesa obiectele folosind metodele get() și set().

Pentru a accesa obiectele din clasa POJO, urmați pașii de mai jos:

cast int în șir
  • Creați obiecte de clasă POJO
  • Setați valorile folosind metoda set().
  • Obțineți valorile folosind metoda get().

De exemplu, creați un fișier de clasă MainClass.java în același pachet și scrieți următorul cod în el:

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()); } } 

Ieșire:

 Name: Alisha Id: A001 Salary: 200000.0 

Din exemplul de mai sus, putem vedea că am accesat proprietățile clasei POJO în MainClass.java.

POJO este similar cu Bean Class, așa că oamenii se confundă adesea între ei; să vedem diferența dintre POJO și Bean.

Java Bean

Clasa Java Bean este, de asemenea, o clasă de obiecte care încapsulează mai multe obiecte într-un singur fișier (Fișier de clasă Bean). Există unele diferențe între POJO și Bean.

Java POJO și Bean pe scurt:

  • Toate fișierele Bean pot fi POJO, dar nu toate POJO sunt fasole.
  • Toate fișierele Bean pot implementa o interfață serializabilă, dar nu toate POJO-urile pot implementa o interfață serializabilă.
  • Ambele proprietăți ar trebui să fie private pentru a avea control complet asupra câmpurilor.
  • Proprietățile trebuie să aibă getters și setter pentru a le accesa în alte programe Java.
  • Clasa Bean este un subset al clasei POJO.
  • Nu există un dezavantaj major în utilizarea POJO, dar puține dezavantaje pot fi utilizarea clasei Bean.
  • POJO este folosit atunci când dorim să oferim acces deplin utilizatorilor și să restricționăm membrii noștri. Și, Bean este folosit atunci când dorim să oferim acces parțial membrilor.

POJO vs. Fasole

POJO Fasole
În Pojo, nu există restricții speciale, altele decât convențiile Java. Este un tip special de fișiere POJO, care au anumite restricții speciale, altele decât convențiile Java.
Oferă mai puțin control asupra câmpurilor în comparație cu Bean. Oferă protecție completă pe câmpuri.
Fișierul POJO poate implementa interfața Serializable; dar, nu este obligatoriu. Clasa Bean ar trebui să implementeze interfața Serializable.
Clasa POJO poate fi accesată folosind numele lor. Clasa Bean poate fi accesată numai prin utilizarea getter-urilor și setter-urilor.
Câmpurile pot avea oricare dintre modificatorii de acces, cum ar fi public, privat, protejat. Câmpurile pot avea doar acces privat.
În POJO, nu este necesar să existe un constructor fără argument; o poate avea sau nu. Trebuie să aibă un constructor fără argument.
Nu există niciun dezavantaj în utilizarea POJO Dezavantajul utilizării Bean-ului este că constructorul implicit și setterul public pot schimba starea obiectului când ar trebui să fie imuabil.