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.
Kattintson a jobb gombbal a Java programra, és válassza a Getters és Setters generálása lehetőséget.
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ó.
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. |