POJO v jazyku Java znamená Plain Old Java Object. Ide o obyčajný predmet, ktorý nie je viazaný žiadnym špeciálnym obmedzením. Súbor POJO nevyžaduje žiadnu špeciálnu cestu k triede. Zvyšuje čitateľnosť a opätovnú použiteľnosť programu Java.
POJO sú teraz široko akceptované kvôli ich ľahkej údržbe. Ľahko sa čítajú a píšu. Trieda POJO nemá žiadnu konvenciu pomenovania vlastností a metód. Nie je viazaná na žiadnu Java Rámec; môže ho použiť akýkoľvek program Java.
Pojem POJO zaviedol o Martin Fowler (Americký vývojár softvéru) v roku 2000. je k dispozícii v jazyku Java od EJB 3.0 od sun microsystem.
Všeobecne platí, že trieda POJO obsahuje premenné a ich getter a setter.
Triedy POJO sú podobné ako Beans, pretože obe sa používajú na definovanie objektov na zvýšenie čitateľnosti a opätovnej použiteľnosti. Jediný rozdiel medzi nimi je, že súbory Bean majú určité obmedzenia, ale súbory POJO nemajú žiadne špeciálne obmedzenia.
Príklad:
Trieda POJO sa používa na definovanie entít objektu. Napríklad môžeme vytvoriť triedu Employee POJO na definovanie jej objektov.
Nižšie je uvedený príklad triedy 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; } }
Vyššie uvedená trieda zamestnancov je príkladom triedy zamestnancov POJO. Ak pracujete na Eclipse, môžete jednoducho generovať Setters a Getters kliknutím pravým tlačidlom myši na program Java a prejdite na Zdroj-> Generovať getterov a nastavovačov.
Pravým tlačidlom myši kliknite na program Java a vyberte položku Generovať gettery a nastavovače.
Teraz kliknite na Generovať možnosť uvedená v spodnej časti okna Generovať. Bude automaticky generovať nastavovače a získavače.
zoznam uzlov v jazyku Java
Vlastnosti triedy POJO
Nižšie sú uvedené niektoré vlastnosti triedy POJO:
- Trieda POJO musí byť verejná.
- Musí mať verejný predvolený konštruktor.
- Môže mať konštruktor argumentov.
- Všetky objekty musia mať nejaké verejné Gettery a Settery, aby mali prístup k hodnotám objektov pomocou iných programov Java.
- Objekt v triede POJO môže mať akékoľvek modifikácie prístupu, ako napríklad súkromný, verejný, chránený. Všetky premenné inštancie by však mali byť súkromné, aby sa zlepšila bezpečnosť projektu.
- Trieda POJO by nemala rozširovať preddefinované triedy.
- Nemalo by implementovať vopred špecifikované rozhrania.
- Nemal by mať žiadnu vopred špecifikovanú anotáciu.
Práca triedy POJO
Trieda POJO je trieda objektov, ktorá zahŕňa obchodnú logiku. V architektúre MVC Controller interaguje s obchodnou logikou, ktorá kontaktuje triedu POJO, aby získala prístup k údajom.
Nižšie je uvedená práca triedy POJO.
Ako používať triedu POJO v programe Java
Trieda POJO je vytvorená na použitie objektov v iných programoch Java. Hlavnou výhodou triedy POJO je, že nebudeme musieť zakaždým vytvárať objekty v iných programoch Java. Jednoducho môžeme pristupovať k objektom pomocou metód get() a set().
Ak chcete získať prístup k objektom z triedy POJO, postupujte podľa nasledujúcich krokov:
- Vytvorte objekty triedy POJO
- Nastavte hodnoty pomocou metódy set().
- Získajte hodnoty pomocou metódy get().
Napríklad vytvorte súbor triedy MainClass.java v rámci toho istého balíka a napíšte doň nasledujúci 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ýkon:
Name: Alisha Id: A001 Salary: 200000.0
Z vyššie uvedeného príkladu vidíme, že sme pristúpili k vlastnostiam triedy POJO v MainClass.java.
blokovanie reklám na youtube android
POJO je podobný Bean Class, takže ľudia sa medzi nimi často mýlia; pozrime sa na rozdiel medzi POJO a Beanom.
Java Bean
trieda Java Bean je tiež trieda objektov, ktorá zapuzdruje niekoľko objektov do jedného súboru ( Bean Class File). Medzi POJO a Beanom sú určité rozdiely.
Java POJO a Bean v skratke:
- Všetky súbory Bean môžu byť POJO, ale nie všetky súbory POJO sú fazule.
- Všetky súbory Bean môžu implementovať serializovateľné rozhranie, ale nie všetky POJO môžu implementovať serializovateľné rozhranie.
- Obe vlastnosti by mali byť súkromné, aby mali úplnú kontrolu nad poliami.
- Vlastnosti musia mať getre a setter, aby k nim mali prístup v iných programoch Java.
- Trieda Bean je podmnožinou triedy POJO.
- Použitie POJO nemá žiadnu zásadnú nevýhodu, ale niekoľko nevýhod môže mať triedu Bean.
- POJO sa používa, keď chceme poskytnúť úplný prístup používateľom a obmedziť našich členov. A Bean sa používa, keď chceme poskytnúť čiastočný prístup k členom.
POJO vs. Bean
POJO | Bean |
---|---|
V Pojo neexistujú žiadne špeciálne obmedzenia okrem konvencií Java. | Ide o špeciálny typ súborov POJO, ktoré majú okrem konvencií Java niektoré špeciálne obmedzenia. |
Poskytuje menšiu kontrolu nad poľami v porovnaní s Beanom. | Poskytuje úplnú ochranu na poliach. |
Súbor POJO môže implementovať serializovateľné rozhranie; ale nie je to povinné. | Trieda Bean by mala implementovať rozhranie Serializable. |
K triede POJO je možné pristupovať pomocou ich mien. | K triede Bean je možné pristupovať iba pomocou getterov a setterov. |
Polia môžu mať ľubovoľný modifikátor prístupu, napríklad verejný, súkromný, chránený. | Polia môžu mať iba súkromný prístup. |
V POJO nie je potrebné mať konštruktor no-arg; môže a nemusí to mať. | Musí mať konštruktor no-arg. |
Používanie POJO nemá žiadnu nevýhodu | Nevýhodou použitia Beanu je, že predvolený konštruktor a verejný nastavovač môžu zmeniť stav objektu, keď by mal byť nemenný. |