POJO i Java står for Plain Old Java Object. Det er en vanlig gjenstand, som ikke er bundet av noen spesiell begrensning. POJO-filen krever ingen spesiell klassebane. Det øker lesbarheten og gjenbrukbarheten til et Java-program.
POJO-er er nå allment akseptert på grunn av deres enkle vedlikehold. De er enkle å lese og skrive. En POJO-klasse har ingen navnekonvensjon for egenskaper og metoder. Det er ikke knyttet til noen Java Rammeverk; ethvert Java-program kan bruke det.
Begrepet POJO ble introdusert av Martin Fowler (En amerikansk programvareutvikler) i 2000. den er tilgjengelig i Java fra EJB 3.0 av sun microsystem.
Vanligvis inneholder en POJO-klasse variabler og deres Getters og Setters.
POJO-klassene ligner på Beans da begge brukes til å definere objektene for å øke lesbarheten og gjenbrukbarheten. Den eneste forskjellen mellom dem er at Bean Files har noen begrensninger, men POJO-filene har ingen spesielle begrensninger.
Eksempel:
POJO-klassen brukes til å definere objektenhetene. For eksempel kan vi opprette en Employee POJO-klasse for å definere dens objekter.
Nedenfor er et eksempel på Java POJO-klassen:
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; } }
Ovennevnte ansattklasse er et eksempel på en ansatt POJO-klasse. Hvis du jobber med Eclipse, kan du enkelt generere Settere og Getters ved å høyreklikke på Java-programmet og navigere til Kilde-> Generer Getters og Settere.
Høyreklikk på Java-programmet og velg Generer Getters and Setters.
Klikk nå på generere alternativet gitt nederst i Generer-vinduet. Den vil automatisk generere settere og gettere.
nfa eksempler
Egenskaper til POJO-klassen
Nedenfor er noen egenskaper for POJO-klassen:
- POJO-klassen skal være offentlig.
- Den må ha en offentlig standardkonstruktør.
- Det kan ha argumentene konstruktør.
- Alle objekter må ha noen offentlige Gettere og Settere for å få tilgang til objektverdiene med andre Java-programmer.
- Objektet i POJO-klassen kan ha alle tilgangsmodifikasjoner som privat, offentlig, beskyttet. Men alle forekomstvariabler bør være private for å forbedre sikkerheten til prosjektet.
- En POJO-klasse bør ikke utvide forhåndsdefinerte klasser.
- Den skal ikke implementere forhåndsdefinerte grensesnitt.
- Den skal ikke ha noen forhåndsspesifisert merknad.
Arbeid av POJO-klassen
POJO-klassen er en objektklasse som innkapsler forretningslogikken. I en MVC-arkitektur samhandler kontrolleren med forretningslogikken, som kontakter POJO-klassen for å få tilgang til dataene.
Nedenfor er arbeidet til POJO-klassen.
Hvordan bruke POJO-klassen i et Java-program
POJO-klassen er opprettet for å bruke objektene i andre Java-programmer. Den største fordelen med POJO-klassen er at vi ikke trenger å lage objekter hver gang i andre Java-programmer. Vi kan ganske enkelt få tilgang til objektene ved å bruke metodene get() og set().
For å få tilgang til objektene fra POJO-klassen, følg trinnene nedenfor:
- Lag objekter i en POJO-klasse
- Angi verdiene ved å bruke set()-metoden
- Hent verdiene ved å bruke get()-metoden
Lag for eksempel en MainClass.java-klassefil i samme pakke og skriv følgende kode i den:
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()); } }
Produksjon:
Name: Alisha Id: A001 Salary: 200000.0
Fra eksemplet ovenfor kan vi se at vi har fått tilgang til POJO-klasseegenskapene i MainClass.java.
POJO ligner på Bean Class, så folk blir ofte forvirret mellom dem; la oss se forskjellen mellom POJO og Bean.
Java bønne
Java Bean klasse er også en objektklasse som kapsler inn flere objekter i en enkelt fil (Bean Class File). Det er noen forskjeller mellom POJO og Bean.
start mysql ubuntu på nytt
Java POJO og Bean i et nøtteskall:
- Alle Bean-filene kan være POJO-er, men ikke alle POJO-er er bønner.
- Alle Bean-filer kan implementere et serialiserbart grensesnitt, men ikke alle POJO-ene kan implementere et serialiserbart grensesnitt.
- Begge eiendommene bør være private for å ha full kontroll over feltene.
- Egenskaper må ha gettere og setter for å få tilgang til dem i andre Java-programmer.
- Bean-klassen er en undergruppe av POJO-klassen.
- Det er ingen stor ulempe ved å bruke POJO, men få ulemper kan være å bruke Bean-klassen.
- POJO brukes når vi ønsker å gi full tilgang til brukere og begrense våre medlemmer. Og bønnen brukes når vi ønsker å gi delvis tilgang til medlemmene.
POJO vs. Bønne
POJO | Bønne |
---|---|
I Pojo er det ingen spesielle restriksjoner annet enn Java-konvensjoner. | Det er en spesiell type POJO-filer, som har noen spesielle begrensninger andre enn Java-konvensjoner. |
Det gir mindre kontroll over feltene sammenlignet med Bean. | Det gir fullstendig beskyttelse på felt. |
POJO-filen kan implementere Serializable-grensesnittet; men det er ikke obligatorisk. | Bean-klassen skal implementere Serializable-grensesnittet. |
POJO-klassen kan nås ved å bruke navnene deres. | Bean-klassen kan bare nås ved å bruke gettere og settere. |
Felt kan ha hvilken som helst av tilgangsmodifikatorene som offentlig, privat, beskyttet. | Felter kan bare ha privat tilgang. |
I POJO er det ikke nødvendig å ha en no-arg-konstruktør; det kan ha det eller ikke. | Den må ha en no-arg-konstruktør. |
Det er ingen ulempe med å bruke POJO | Ulempen med å bruke Bean er at standardkonstruktøren og den offentlige setteren kan endre objekttilstanden når den skal være uforanderlig. |