POJO u Javi je kratica za Plain Old Java Object. To je običan objekt, koji nije vezan nikakvim posebnim ograničenjima. POJO datoteka ne zahtijeva nikakav poseban put klase. Povećava čitljivost i mogućnost ponovne upotrebe Java programa.
POJO su sada široko prihvaćeni zbog jednostavnog održavanja. Lako ih je čitati i pisati. POJO klasa nema nikakvu konvenciju o imenovanju svojstava i metoda. Nije vezana ni za jednu Java Okvir; bilo koji Java program ga može koristiti.
Pojam POJO uveo je god Martin Fowler (Američki programer softvera) 2000. godine dostupan je u Javi iz EJB 3.0 od strane sun microsystema.
Općenito, POJO klasa sadrži varijable i njihove dobivače i postavljače.
POJO klase slične su grahovima jer se obje koriste za definiranje objekata kako bi se povećala čitljivost i mogućnost ponovne upotrebe. Jedina razlika između njih je da Bean datoteke imaju neka ograničenja, ali POJO datoteke nemaju nikakva posebna ograničenja.
Primjer:
POJO klasa se koristi za definiranje entiteta objekta. Na primjer, možemo stvoriti POJO klasu Employee kako bismo definirali njezine objekte.
Ispod je primjer Java POJO klase:
Zaposlenik.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; } }
Gore navedena klasa zaposlenika primjer je POJO klase zaposlenika. Ako radite na Eclipseu, možete jednostavno generirati Settere i Gettere desnim klikom na Java Program i otići na Izvor-> Generiraj dobivatelje i postavljače.
Desnom tipkom miša kliknite Java program i odaberite Generate Getters and Setters.
Sada kliknite na Generirati opcija dana na dnu prozora Generiraj. Automatski će generirati postavljače i dobivače.
isključivanje android načina rada za razvojne programere
Svojstva POJO klase
Ispod su neka svojstva POJO klase:
- POJO klasa mora biti javna.
- Mora imati javni zadani konstruktor.
- Može imati konstruktor argumenata.
- Svi objekti moraju imati neke javne Gettere i Settere za pristup vrijednostima objekta pomoću drugih Java programa.
- Objekt u POJO klasi može imati bilo koje modifikacije pristupa kao što su privatni, javni, zaštićeni. No, sve varijable instance trebale bi biti privatne radi poboljšane sigurnosti projekta.
- POJO klasa ne bi trebala proširivati unaprijed definirane klase.
- Ne bi trebao implementirati unaprijed određena sučelja.
- Ne bi trebao imati nikakve unaprijed određene napomene.
Rad POJO klase
POJO klasa je objektna klasa koja enkapsulira poslovnu logiku. U MVC arhitekturi, kontroler je u interakciji s poslovnom logikom, koja kontaktira s POJO klasom za pristup podacima.
Ispod je rad POJO klase.
Kako koristiti POJO klasu u Java programu
POJO klasa stvorena je za korištenje objekata u drugim Java programima. Glavna prednost POJO klase je ta što nećemo morati svaki put kreirati objekte u drugim Java programima. Objektima jednostavno možemo pristupiti pomoću metoda get() i set().
Za pristup objektima iz POJO klase slijedite korake u nastavku:
- Stvorite objekte klase POJO
- Postavite vrijednosti pomoću metode set().
- Dohvatite vrijednosti pomoću metode get().
Na primjer, stvorite datoteku klase MainClass.java unutar istog paketa i u nju napišite sljedeći kod:
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()); } }
Izlaz:
Name: Alisha Id: A001 Salary: 200000.0
Iz gornjeg primjera možemo vidjeti da smo pristupili svojstvima POJO klase u MainClass.java.
POJO je sličan Bean Classu, pa se ljudi često miješaju između njih; da vidimo razliku između POJO-a i Beana.
pretvori strin u int
Java Bean
Java Bean klasa je također klasa objekata koja enkapsulira nekoliko objekata u jednu datoteku (Bean Class File). Postoje neke razlike između POJO i Beana.
Java POJO i Bean ukratko:
- Sve Bean datoteke mogu biti POJO, ali nisu sve POJO grahovi.
- Sve Bean datoteke mogu implementirati Serializable sučelje, ali ne mogu svi POJO implementirati Serializable sučelje.
- Oba bi svojstva trebala biti privatna kako bi imali potpunu kontrolu nad poljima.
- Svojstva moraju imati dobivatelje i postavljače kako biste im pristupili u drugim Java programima.
- Bean klasa je podskup POJO klase.
- Ne postoji veliki nedostatak korištenja POJO, ali nekoliko nedostataka bi moglo biti korištenje Bean klase.
- POJO se koristi kada želimo omogućiti puni pristup korisnicima i ograničiti naše članove. A Bean se koristi kada želimo omogućiti djelomičan pristup članovima.
POJO vs. Grah
POJO | Grah |
---|---|
U Pojou nema posebnih ograničenja osim Java konvencija. | To je posebna vrsta POJO datoteka, koje imaju neka posebna ograničenja osim Java konvencija. |
Omogućuje manju kontrolu nad poljima u usporedbi s Beanom. | Pruža potpunu zaštitu na poljima. |
POJO datoteka može implementirati Serializable sučelje; ali, nije obavezno. | Klasa Bean trebala bi implementirati Serializable sučelje. |
Klasi POJO može se pristupiti korištenjem njihovih imena. | Klasi Bean se može pristupiti samo korištenjem gettera i postavljača. |
Polja mogu imati bilo koji od modifikatora pristupa kao što su javno, privatno, zaštićeno. | Polja mogu imati samo privatni pristup. |
U POJO nije potrebno imati no-arg konstruktor; može ga i ne mora imati. | Mora imati konstruktor bez argumenata. |
Nema nikakvih nedostataka u korištenju POJO-a | Nedostatak korištenja Beana je taj što Default konstruktor i javni postavljač mogu promijeniti stanje objekta kada bi ono trebalo biti nepromjenjivo. |