POJO in Java staat voor Plain Old Java Object. Het is een gewoon object, waarvoor geen speciale beperking geldt. Het POJO-bestand vereist geen speciaal klassenpad. Het verhoogt de leesbaarheid en herbruikbaarheid van een Java-programma.
POJO's worden nu algemeen geaccepteerd vanwege hun eenvoudige onderhoud. Ze zijn gemakkelijk te lezen en te schrijven. Een POJO-klasse kent geen enkele naamgevingsconventie voor eigenschappen en methoden. Het is nergens aan gebonden Java Kader; elk Java-programma kan het gebruiken.
De term POJO werd geïntroduceerd door Martin Fowler (Een Amerikaanse softwareontwikkelaar) in 2000. Het is beschikbaar in Java via EJB 3.0 van Sun Microsystem.
Over het algemeen bevat een POJO-klasse variabelen en hun Getters en Setters.
De POJO-klassen zijn vergelijkbaar met Beans, omdat beide worden gebruikt om de objecten te definiëren om de leesbaarheid en herbruikbaarheid te vergroten. Het enige verschil tussen beide is dat Bean Files enkele beperkingen hebben, maar dat de POJO-bestanden geen speciale beperkingen hebben.
Voorbeeld:
De POJO-klasse wordt gebruikt om de objectentiteiten te definiëren. We kunnen bijvoorbeeld een Employee POJO-klasse maken om de objecten ervan te definiëren.
Hieronder ziet u een voorbeeld van de Java POJO-klasse:
Werknemer.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; } }
De bovenstaande werknemersklasse is een voorbeeld van een POJO-klasse voor werknemers. Als u aan Eclipse werkt, kunt u eenvoudig Setters en Getters genereren door met de rechtermuisknop op het Java-programma te klikken en naar Bron-> Getters en Setters genereren.
Klik met de rechtermuisknop op het Java-programma en selecteer Getters en Setters genereren.
Klik nu op de Genereer optie onderaan het venster Genereren. Het genereert automatisch setters en getters.
hoe verborgen dingen op Android te vinden
Eigenschappen van POJO-klasse
Hieronder staan enkele eigenschappen van de POJO-klasse:
- De POJO-klasse moet openbaar zijn.
- Het moet een openbare standaardconstructor hebben.
- Het kan de argumentenconstructor hebben.
- Alle objecten moeten een aantal openbare Getters en Setters hebben om toegang te krijgen tot de objectwaarden via andere Java-programma's.
- Het object in de POJO-klasse kan elke toegangswijziging hebben, zoals privé, openbaar of beschermd. Maar alle instantievariabelen moeten privé zijn voor een betere beveiliging van het project.
- Een POJO-klasse mag vooraf gedefinieerde klassen niet uitbreiden.
- Het mag geen vooraf gespecificeerde interfaces implementeren.
- Het mag geen vooraf gespecificeerde annotatie bevatten.
Werking van POJO-klasse
De POJO-klasse is een objectklasse die de bedrijfslogica inkapselt. In een MVC-architectuur werkt de controller samen met de bedrijfslogica, die contact maakt met de POJO-klasse om toegang te krijgen tot de gegevens.
Hieronder ziet u de werking van de POJO-klasse.
panda's en numpy
Hoe de POJO-klasse in een Java-programma te gebruiken
De POJO-klasse is gemaakt om de objecten in andere Java-programma's te gebruiken. Het grote voordeel van de POJO-klasse is dat we niet elke keer objecten hoeven te maken in andere Java-programma's. We kunnen eenvoudigweg toegang krijgen tot de objecten door de methoden get() en set() te gebruiken.
Volg de onderstaande stappen om toegang te krijgen tot de objecten uit de POJO-klasse:
- Maak een POJO-klasseobject
- Stel de waarden in met behulp van de set() -methode
- Haal de waarden op met behulp van de get() -methode
Maak bijvoorbeeld een MainClass.java-klassebestand binnen hetzelfde pakket en schrijf daarin de volgende code:
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()); } }
Uitgang:
Name: Alisha Id: A001 Salary: 200000.0
Uit het bovenstaande voorbeeld kunnen we zien dat we toegang hebben gekregen tot de POJO-klasse-eigenschappen in MainClass.java.
POJO is vergelijkbaar met Bean Class, dus mensen raken vaak in de war; laten we eens kijken naar het verschil tussen de POJO en Bean.
Java-boon
Java Bean-klasse is ook een objectklasse die verschillende objecten in één enkel bestand inkapselt (Bean Class File). Er zijn enkele verschillen tussen POJO en Bean.
Java POJO en Bean in een notendop:
- Alle Bean-bestanden kunnen POJO's zijn, maar niet alle POJO's zijn bonen.
- Alle Bean-bestanden kunnen een serialiseerbare interface implementeren, maar niet alle POJO's kunnen een serialiseerbare interface implementeren.
- Beide eigendommen moeten privé zijn om volledige controle over de velden te hebben.
- Eigenschappen moeten getters en setter hebben om deze in andere Java-programma's te kunnen gebruiken.
- De Bean-klasse is een subset van de POJO-klasse.
- Er zijn geen grote nadelen aan het gebruik van de POJO, maar er zijn misschien wel enkele nadelen aan het gebruik van de Bean-klasse.
- De POJO wordt gebruikt wanneer we gebruikers volledige toegang willen bieden en onze leden willen beperken. En de Bean wordt gebruikt wanneer we de leden gedeeltelijke toegang willen bieden.
POJO versus. Boon
POJO | Boon |
---|---|
In Pojo zijn er geen speciale beperkingen behalve de Java-conventies. | Het is een speciaal type POJO-bestanden, die een aantal speciale beperkingen hebben, afgezien van de Java-conventies. |
Het biedt minder controle over de velden in vergelijking met Bean. | Het biedt volledige bescherming op velden. |
Het POJO-bestand kan de Serializable-interface implementeren; maar het is niet verplicht. | De klasse Bean moet de serialiseerbare interface implementeren. |
De POJO-klasse is toegankelijk door hun namen te gebruiken. | De klasse Bean is alleen toegankelijk via de getters en setters. |
Velden kunnen een van de toegangsmodificatoren hebben, zoals openbaar, privé, beschermd. | Velden kunnen alleen privétoegang hebben. |
In POJO is het niet nodig om een no-arg-constructor te hebben; het kan het wel of niet hebben. | Het moet een no-arg-constructor hebben. |
Er zijn geen nadelen verbonden aan het gebruik van de POJO | Het nadeel van het gebruik van de Bean is dat de Default-constructor en de publieke setter de objectstatus kunnen wijzigen terwijl deze onveranderlijk zou moeten zijn. |