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.
Klikněte pravým tlačítkem na Java Program a vyberte Generate Getters and Setters.
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.
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ý. |