logo

POJO

A POJO a Java nyelven a Plain Old Java Object rövidítése. Ez egy közönséges tárgy, amelyet nem köt semmilyen különleges megkötés. A POJO fájl nem igényel speciális osztályútvonalat. Növeli a Java programok olvashatóságát és újrafelhasználhatóságát.

A POJO-k manapság széles körben elfogadottak az egyszerű karbantartásuk miatt. Könnyen olvashatóak és írhatók. A POJO osztályoknak nincs elnevezési konvenciója a tulajdonságokra és metódusokra vonatkozóan. Nem kötődik egyikhez sem Jáva Keretrendszer; bármely Java program használhatja.

A POJO kifejezést vezette be Martin Fowler (Egy amerikai szoftverfejlesztő) 2000-ben. Java nyelven elérhető az EJB 3.0 by sun microsystemtől.

Általában a POJO osztály változókat és azok Gettereit és beállítóit tartalmazza.

A POJO osztályok hasonlóak a Beans-hez, mivel mindkettőt használják az objektumok meghatározására az olvashatóság és az újrafelhasználhatóság növelése érdekében. Az egyetlen különbség köztük, hogy a Bean Files rendelkezik bizonyos korlátozásokkal, de a POJO fájloknak nincs különleges korlátozása.

Példa:

A POJO osztály az objektum entitások meghatározására szolgál. Például létrehozhatunk egy Employee POJO osztályt az objektumok meghatározásához.

Az alábbiakban egy példa a Java POJO osztályra:

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

A fenti alkalmazotti osztály egy alkalmazotti POJO osztály példája. Ha az Eclipse-en dolgozik, könnyen generálhat settereket és gettereket, ha jobb gombbal kattintson a Java programra, és navigáljon a Forrás-> Getterek és szetterek generálása.

POJO

Kattintson a jobb gombbal a Java programra, és válassza a Getters és Setters generálása lehetőséget.

POJO

Most kattintson a generál opciót, amely a Generálás ablak alján található. Automatikusan generál settereket és gettereket.

tömblista rendezése java-ban

A POJO osztály tulajdonságai

Az alábbiakban a POJO osztály néhány tulajdonsága látható:

  • A POJO osztálynak nyilvánosnak kell lennie.
  • Nyilvános alapértelmezett konstruktorral kell rendelkeznie.
  • Lehet benne az argumentumkonstruktor.
  • Minden objektumnak rendelkeznie kell néhány nyilvános Getterrel és Setterrel, hogy más Java programok elérjék az objektumértékeket.
  • A POJO osztályban lévő objektumhoz bármilyen hozzáférésmódosítás tartozhat, például privát, nyilvános, védett. A projekt biztonságának növelése érdekében azonban minden példányváltozónak privátnak kell lennie.
  • A POJO osztály nem terjesztheti ki az előre meghatározott osztályokat.
  • Nem valósíthat meg előre meghatározott interfészeket.
  • Nem tartalmazhat előre meghatározott megjegyzést.

A POJO osztály munkája

A POJO osztály egy objektumosztály, amely magába foglalja az üzleti logikát. Egy MVC architektúrában a vezérlő kölcsönhatásba lép az üzleti logikával, amely kapcsolatba lép a POJO osztályával az adatok eléréséhez.

Az alábbiakban a POJO osztály működése látható.

POJO

A POJO osztály használata Java programban

A POJO osztály más Java programok objektumainak használatára jön létre. A POJO osztály legnagyobb előnye, hogy nem kell minden alkalommal objektumokat létrehoznunk más Java programokban. Egyszerűen csak a get() és set() metódusokkal érhetjük el az objektumokat.

Az objektumok POJO osztályból való eléréséhez kövesse az alábbi lépéseket:

gépírás dátum típusa
  • Hozzon létre egy POJO osztály objektumokat
  • Állítsa be az értékeket a set() metódussal
  • Szerezze meg az értékeket a get() metódussal

Például hozzon létre egy MainClass.java osztályfájlt ugyanazon a csomagon belül, és írja be a következő kódot:

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

Kimenet:

 Name: Alisha Id: A001 Salary: 200000.0 

A fenti példából láthatjuk, hogy elértük a MainClass.java POJO osztály tulajdonságait.

A POJO hasonló a Bean Class-hoz, így az emberek gyakran összezavarodnak közöttük; lássuk a különbséget a POJO és a Bean között.

Java Bean

Java Bean osztály egy olyan objektumosztály is, amely több objektumot egyetlen fájlba foglal (Bean Class File). Van néhány különbség a POJO és a Bean között.

A Java POJO és a Bean dióhéjban:

  • Az összes Bean fájl lehet POJO, de nem minden POJO bab.
  • Az összes Bean fájl megvalósíthat szerializálható felületet, de nem minden POJO valósít meg szerializálható interfészt.
  • Mindkét tulajdonságnak privátnak kell lennie a mezők teljes ellenőrzéséhez.
  • A tulajdonságoknak rendelkezniük kell a getterekkel és a beállítókkal, hogy más Java programokban hozzáférhessenek.
  • A Bean osztály a POJO osztály egy részhalmaza.
  • A POJO használatának nincs komoly hátránya, de kevés hátránya lehet a Bean osztály használatának.
  • A POJO-t akkor használjuk, ha teljes hozzáférést szeretnénk biztosítani a felhasználóknak, és korlátozni szeretnénk tagjainkat. És a Bean akkor használatos, amikor részleges hozzáférést szeretnénk biztosítani a tagoknak.

POJO vs. Bab

POJO Bab
A Pojoban a Java-konvenciókon kívül nincsenek különleges korlátozások. Ez a POJO fájlok speciális típusa, amelyekre a Java-konvenciókon kívül néhány speciális korlátozás is vonatkozik.
Kevesebb irányítást biztosít a mezők felett, mint a Bean. Teljes védelmet nyújt a szántóföldeken.
A POJO fájl megvalósíthatja a Serializable interfészt; de nem kötelező. A Bean osztálynak meg kell valósítania a Serializable interfészt.
A POJO osztály a nevükkel érhető el. A Bean osztály csak a getterek és setterek használatával érhető el.
A mezők bármely hozzáférésmódosítóval rendelkezhetnek, például nyilvános, privát, védett. A mezők csak privát hozzáféréssel rendelkezhetnek.
A POJO-ban nem szükséges no-arg konstruktor; lehet, hogy nem. Arg nélküli konstruktorral kell rendelkeznie.
A POJO használatának nincs semmilyen hátránya A Bean használatának az a hátránya, hogy az alapértelmezett konstruktor és a nyilvános beállító módosíthatja az objektum állapotát, amikor annak megváltoztathatatlannak kell lennie.