logo

POJO

POJO v Javě znamená Plain Old Java Object. Jde o běžný předmět, který není vázán žádným zvláštním omezením. Soubor POJO nevyžaduje žádnou speciální cestu ke třídě. Zvyšuje čitelnost a opětovnou použitelnost Java programu.

POJO jsou nyní široce akceptovány díky jejich snadné údržbě. Snadno se čtou a píší. Třída POJO nemá žádnou konvenci pojmenování vlastností a metod. Není vázána na žádnou Jáva Rámec; může jej použít jakýkoli program Java.

Termín POJO zavedl o Martin Fowler (Americký softwarový vývojář) v roce 2000. je k dispozici v Javě od EJB 3.0 od sun microsystem.

Obecně platí, že třída POJO obsahuje proměnné a jejich gettry a setry.

Třídy POJO jsou podobné jako Beans, protože obě se používají k definování objektů pro zvýšení čitelnosti a opětovné použitelnosti. Jediný rozdíl mezi nimi je, že Bean Files mají určitá omezení, ale soubory POJO nemají žádná zvláštní omezení.

Příklad:

Třída POJO se používá k definování entit objektu. Můžeme například vytvořit třídu Employee POJO pro definování jejích objektů.

Níže je uveden příklad třídy 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; } } 

Výše uvedená třída zaměstnanců je příkladem třídy zaměstnanců POJO. Pokud pracujete na Eclipse, můžete snadno generovat Setters a Getters kliknutím pravým tlačítkem na Java Program a přejděte na Zdroj-> Generovat gettry a setry.

POJO

Klikněte pravým tlačítkem na Java Program a vyberte Generate Getters and Setters.

POJO

Nyní klikněte na generovat možnost uvedená ve spodní části okna Generovat. Bude automaticky generovat nastavovače a getry.

modifikační klávesy

Vlastnosti třídy POJO

Níže jsou uvedeny některé vlastnosti třídy POJO:

  • Třída POJO musí být veřejná.
  • Musí mít veřejný výchozí konstruktor.
  • Může mít konstruktor argumentů.
  • Všechny objekty musí mít nějaké veřejné getry a setry, aby bylo možné přistupovat k hodnotám objektů jinými Java programy.
  • Objekt ve třídě POJO může mít jakékoli modifikace přístupu, jako je soukromý, veřejný, chráněný. Ale všechny proměnné instance by měly být soukromé, aby se zlepšilo zabezpečení projektu.
  • Třída POJO by neměla rozšiřovat předdefinované třídy.
  • Neměl by implementovat předem specifikovaná rozhraní.
  • Neměl by mít žádnou předem specifikovanou anotaci.

Práce třídy POJO

Třída POJO je třída objektů, která zapouzdřuje obchodní logiku. V architektuře MVC Controller interaguje s obchodní logikou, která se spojí s třídou POJO pro přístup k datům.

java datum na řetězec

Níže je práce třídy POJO.

POJO

Jak používat třídu POJO v programu Java

Třída POJO je vytvořena pro použití objektů v jiných programech Java. Hlavní výhodou třídy POJO je, že nebudeme muset pokaždé vytvářet objekty v jiných Java programech. Jednoduše můžeme k objektům přistupovat pomocí metod get() a set().

Chcete-li získat přístup k objektům ze třídy POJO, postupujte takto:

  • Vytvořte objekty třídy POJO
  • Nastavte hodnoty pomocí metody set().
  • Získejte hodnoty pomocí metody get().

Vytvořte například soubor třídy MainClass.java ve stejném balíčku a napište do něj následující kód:

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

Výstup:

 Name: Alisha Id: A001 Salary: 200000.0 

Z výše uvedeného příkladu vidíme, že jsme přistoupili k vlastnostem třídy POJO v MainClass.java.

POJO je podobné Bean Class, takže se mezi nimi lidé často pletou; podívejme se na rozdíl mezi POJO a Beanem.

Java Bean

Třída Java Bean je také třída objektů, která zapouzdřuje několik objektů do jednoho souboru ( Bean Class File). Mezi POJO a Beanem jsou určité rozdíly.

Java POJO a Bean v kostce:

  • Všechny soubory Bean mohou být POJO, ale ne všechny soubory POJO jsou fazole.
  • Všechny soubory Bean mohou implementovat Serializovatelné rozhraní, ale ne všechny POJO mohou implementovat Serializovatelné rozhraní.
  • Obě vlastnosti by měly být soukromé, aby měly úplnou kontrolu nad poli.
  • Vlastnosti musí mít gettry a setter, aby k nim měly přístup v jiných programech Java.
  • Třída Bean je podmnožinou třídy POJO.
  • Použití POJO nemá žádnou zásadní nevýhodu, ale několik nevýhod může být použití třídy Bean.
  • POJO se používá, když chceme uživatelům poskytnout plný přístup a omezit naše členy. A Bean se používá, když chceme poskytnout částečný přístup k členům.

POJO vs. Fazole

POJO Fazole
V Pojo neexistují žádná zvláštní omezení kromě konvencí Java. Jedná se o speciální typ souborů POJO, které mají některá zvláštní omezení jiná než konvence Java.
Poskytuje menší kontrolu nad poli ve srovnání s Beanem. Poskytuje kompletní ochranu na polích.
Soubor POJO může implementovat Serializovatelné rozhraní; ale není to povinné. Třída Bean by měla implementovat rozhraní Serializable.
Třída POJO je přístupná pomocí jejich jmen. Třída Bean je přístupná pouze pomocí getterů a setterů.
Pole mohou mít jakýkoli modifikátor přístupu, například veřejný, soukromý, chráněný. Pole mohou mít pouze soukromý přístup.
V POJO není nutné mít konstruktor no-arg; může a nemusí to mít. Musí mít konstruktor no-arg.
Použití POJO nemá žádnou nevýhodu Nevýhodou použití Beanu je, že výchozí konstruktor a veřejný setter mohou změnit stav objektu, když by měl být neměnný.