POJO i Java står för Plain Old Java Object. Det är ett vanligt föremål, som inte är bundet av någon särskild begränsning. POJO-filen kräver ingen speciell klasssökväg. Det ökar läsbarheten och återanvändbarheten för ett Java-program.
POJO är nu allmänt accepterade på grund av deras enkla underhåll. De är lätta att läsa och skriva. En POJO-klass har ingen namnkonvention för egenskaper och metoder. Den är inte knuten till någon Java Ramverk; vilket Java-program som helst kan använda det.
Termen POJO introducerades av Martin Fowler (En amerikansk mjukvaruutvecklare) år 2000. den är tillgänglig i Java från EJB 3.0 av sun microsystem.
I allmänhet innehåller en POJO-klass variabler och deras Getters och Setters.
POJO-klasserna liknar Beans eftersom båda används för att definiera objekten för att öka läsbarheten och återanvändbarheten. Den enda skillnaden mellan dem är att Bean Files har vissa begränsningar, men POJO-filerna har inga speciella begränsningar.
Exempel:
POJO-klassen används för att definiera objektentiteterna. Till exempel kan vi skapa en Employee POJO-klass för att definiera dess objekt.
Nedan är ett exempel på Java POJO-klass:
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; } }
Ovanstående medarbetarklass är ett exempel på en anställd POJO-klass. Om du arbetar med Eclipse kan du enkelt generera Setters och Getters genom att högerklicka på Java-programmet och navigera till Källa-> Generera Getters och Setters.
Högerklicka på Java-programmet och välj Generera Getters and Setters.
Klicka nu på Generera alternativet som finns längst ner i fönstret Generera. Det kommer att automatiskt generera sättare och getters.
strängbyggare
Egenskaper för POJO-klassen
Nedan är några egenskaper för POJO-klassen:
trunkera och ta bort skillnaden
- POJO-klassen måste vara offentlig.
- Den måste ha en offentlig standardkonstruktor.
- Det kan ha argumentkonstruktorn.
- Alla objekt måste ha några offentliga Getters och Setters för att komma åt objektvärdena av andra Java-program.
- Objektet i POJO-klassen kan ha alla åtkomständringar som privat, offentlig, skyddad. Men alla instansvariabler bör vara privata för förbättrad säkerhet i projektet.
- En POJO-klass bör inte utöka fördefinierade klasser.
- Det bör inte implementera fördefinierade gränssnitt.
- Den ska inte ha någon fördefinierad anteckning.
Arbetar i POJO-klassen
POJO-klassen är en objektklass som kapslar in affärslogiken. I en MVC-arkitektur interagerar styrenheten med affärslogiken, som kontaktar POJO-klassen för att komma åt data.
Nedan är hur POJO-klassen fungerar.
Hur man använder POJO-klassen i ett Java-program
POJO-klassen skapas för att använda objekten i andra Java-program. Den stora fördelen med POJO-klassen är att vi inte behöver skapa objekt varje gång i andra Java-program. Vi kan helt enkelt komma åt objekten genom att använda metoderna get() och set().
Följ stegen nedan för att komma åt objekten från POJO-klassen:
- Skapa en POJO-klassobjekt
- Ställ in värdena med metoden set().
- Hämta värdena med metoden get().
Skapa till exempel en MainClass.java-klassfil inom samma paket och skriv följande kod 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()); } }
Produktion:
Name: Alisha Id: A001 Salary: 200000.0
Från exemplet ovan kan vi se att vi har kommit åt POJO-klassegenskaperna i MainClass.java.
POJO liknar Bean Class, så folk blir ofta förvirrade mellan dem; låt oss se skillnaden mellan POJO och Bean.
Java Bean
Java Bean klass är också en objektklass som kapslar in flera objekt i en enda fil (Bean Class File). Det finns vissa skillnader mellan POJO och Bean.
Java POJO och Bean i ett nötskal:
- Alla Bean-filer kan vara POJOs, men inte alla POJOs är bönor.
- Alla Bean-filer kan implementera ett serialiserbart gränssnitt, men inte alla POJO:er kan implementera ett serialiserbart gränssnitt.
- Båda fastigheterna bör vara privata för att ha fullständig kontroll över fält.
- Egenskaper måste ha getters och setter för att komma åt dem i andra Java-program.
- Bean-klassen är en undergrupp av POJO-klassen.
- Det finns ingen större nackdel med att använda POJO, men få nackdelar kan vara att använda Bean-klassen.
- POJO används när vi vill ge full åtkomst till användare och begränsa våra medlemmar. Och Bönan används när vi vill ge partiell tillgång till medlemmarna.
POJO vs. Böna
POJO | Böna |
---|---|
I Pojo finns det inga speciella restriktioner förutom Java-konventioner. | Det är en speciell typ av POJO-filer, som har några speciella restriktioner förutom Java-konventioner. |
Det ger mindre kontroll över fälten jämfört med Bean. | Det ger fullständigt skydd på fält. |
POJO-filen kan implementera det serialiserbara gränssnittet; men det är inte obligatoriskt. | Klassen Bean bör implementera gränssnittet Serializable. |
POJO-klassen kan nås genom att använda deras namn. | Bean-klassen kan endast nås genom att använda getters och seters. |
Fält kan ha någon av åtkomstmodifierarna som offentlig, privat, skyddad. | Fält kan bara ha privat åtkomst. |
I POJO är det inte nödvändigt att ha en no-arg-konstruktor; det kanske har det eller inte. | Den måste ha en no-arg konstruktor. |
Det finns ingen nackdel med att använda POJO | Nackdelen med att använda Bean är att standardkonstruktören och public seter kan ändra objekttillståndet när det ska vara oföränderligt. |