POJO v Javi pomeni Plain Old Java Object. Gre za navaden objekt, ki ni vezan na nobeno posebno omejitev. Datoteka POJO ne zahteva posebne poti razreda. Poveča berljivost in ponovno uporabnost programa Java.
POJO so zdaj splošno sprejeti zaradi enostavnega vzdrževanja. Lahko jih je brati in pisati. Razred POJO nima nobene konvencije o poimenovanju lastnosti in metod. Ni vezana na nobeno Java okvir; uporablja ga lahko vsak program Java.
Izraz POJO je uvedel ga Martin Fowler (Ameriški razvijalec programske opreme) leta 2000. Na voljo je v Javi iz EJB 3.0 mikrosistema sun.
Na splošno razred POJO vsebuje spremenljivke ter njihove pridobivalnike in nastavljalce.
Razredi POJO so podobni Beansom, saj se oba uporabljata za definiranje objektov za povečanje berljivosti in ponovne uporabe. Edina razlika med njimi je, da imajo datoteke Bean nekatere omejitve, datoteke POJO pa nimajo posebnih omejitev.
primer:
Razred POJO se uporablja za definiranje objektnih entitet. Ustvarimo lahko na primer razred POJO zaposlenih, da definiramo njegove objekte.
Spodaj je primer razreda 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; } }
Zgornji razred zaposlenih je primer razreda POJO zaposlenih. Če delate na Eclipse, lahko preprosto ustvarite nastavitve in pridobivalnike z desnim klikom na program Java in se pomaknete do Source-> Generate Getters in Setters.
Z desno miškino tipko kliknite program Java in izberite Generate Getters and Setters.
Zdaj kliknite na Ustvari možnost na dnu okna Generate. Samodejno bo ustvaril nastavitve in pridobivalnike.
pretvori niz v enum
Lastnosti razreda POJO
Spodaj je nekaj lastnosti razreda POJO:
- Razred POJO mora biti javen.
- Imeti mora javni privzeti konstruktor.
- Lahko ima konstruktor argumentov.
- Vsi objekti morajo imeti nekatere javne pridobivalnike in nastavljalce za dostop do vrednosti objekta z drugimi programi Java.
- Objekt v razredu POJO ima lahko kakršne koli spremembe dostopa, kot so zasebni, javni, zaščiteni. Vendar bi morale biti vse spremenljivke primerka zasebne za izboljšano varnost projekta.
- Razred POJO ne sme razširiti vnaprej določenih razredov.
- Ne bi smel izvajati vnaprej določenih vmesnikov.
- Ne sme imeti nobene vnaprej določene opombe.
Delo razreda POJO
Razred POJO je objektni razred, ki zajema poslovno logiko. V arhitekturi MVC je krmilnik v interakciji s poslovno logiko, ki je v stiku z razredom POJO za dostop do podatkov.
tcp in ip model
Spodaj je prikazano delovanje razreda POJO.
Kako uporabljati razred POJO v programu Java
Razred POJO je ustvarjen za uporabo objektov v drugih programih Java. Glavna prednost razreda POJO je, da nam ne bo treba vsakič ustvarjati objektov v drugih programih Java. Preprosto lahko dostopamo do objektov z uporabo metod get() in set().
Za dostop do objektov iz razreda POJO sledite spodnjim korakom:
- Ustvarite predmete razreda POJO
- Vrednosti nastavite z metodo set().
- Pridobite vrednosti z metodo get().
Ustvarite na primer datoteko razreda MainClass.java znotraj istega paketa in vanjo zapišite to kodo:
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()); } }
Izhod:
Name: Alisha Id: A001 Salary: 200000.0
Iz zgornjega primera lahko vidimo, da smo dostopali do lastnosti razreda POJO v MainClass.java.
POJO je podoben razredu fižola, zato se ljudje med njima pogosto zamenjujejo; poglejmo razliko med POJO in Bean.
Java Bean
Razred Java Bean je tudi objektni razred, ki enkapsulira več objektov v eno datoteko (Bean Class File). Med POJO in Bean je nekaj razlik.
Java POJO in Bean na kratko:
- Vse datoteke Bean so lahko POJO, niso pa vsi POJO.
- Vse datoteke Bean lahko implementirajo vmesnik Serializable, vendar vsi POJO ne morejo implementirati vmesnika Serializable.
- Obe lastnosti morata biti zasebni, če želite imeti popoln nadzor nad polji.
- Lastnosti morajo imeti pridobivalnike in nastavljalnike za dostop do njih v drugih programih Java.
- Razred Bean je podnabor razreda POJO.
- Pri uporabi POJO ni večjih pomanjkljivosti, nekaj pomanjkljivosti pa je morda uporaba razreda Bean.
- POJO se uporablja, ko želimo zagotoviti popoln dostop uporabnikom in omejiti naše člane. In Bean se uporablja, ko želimo zagotoviti delni dostop članom.
POJO Vs. Bean
POJO | fižol |
---|---|
V Poju razen konvencij Java ni posebnih omejitev. | To je posebna vrsta datotek POJO, ki imajo nekatere posebne omejitve, razen konvencij Java. |
Zagotavlja manj nadzora nad polji v primerjavi z Beanom. | Zagotavlja popolno zaščito na poljih. |
Datoteka POJO lahko implementira vmesnik Serializable; vendar ni obvezno. | Razred Bean bi moral implementirati vmesnik Serializable. |
Do razreda POJO lahko dostopate z njihovimi imeni. | Do razreda Bean lahko dostopate le z uporabo pridobivalnikov in nastavljalcev. |
Polja imajo lahko katerega koli modifikatorja dostopa, na primer javno, zasebno, zaščiteno. | Polja imajo lahko samo zasebni dostop. |
V POJO ni potrebno imeti konstruktorja brez argumentov; lahko ga ima ali pa tudi ne. | Imeti mora konstruktor brez argumentov. |
Uporaba POJO ni nobena pomanjkljivost | Pomanjkljivost uporabe Beana je, da lahko privzeti konstruktor in javni nastavitelj spremenita stanje objekta, ko bi moralo biti nespremenljivo. |