Java POJO-klasse – almindeligt gammelt Java-objekt

Siden nu har vi diskuteret og brugt de normale objekter i Java. I denne artikel vil vi lære en særlig type af objekt POJO. POJO står for Plain Old Java Object, som bruges til at øge genanvendeligheden og læsbarheden af Java-programmet. Vi vil diskutere, hvordan man bruger Java POJO-klassen, og hvorfor det er vigtigt at lære det.

Holder dig opdateret med de nyeste teknologiske trends, Deltag TechVidvan på Telegram

Hvad er POJO-klassen i Java?

POJO står for Plain Old Java Object, som er et normalt objekt, der ikke er bundet med særlige restriktioner. De er kun bundet med nogle begrænsninger i Java-sprogspecifikationerne. POJO fungerer ganske enkelt som en ren datastruktur, der har getter- og setter-metoder. POJO-objekter kræver ikke nogen classpath. POJO er den mest udbredte klasse i Java, fordi den er meget let at skrive og forstå. Sun Microsystems introducerede POJO-klassen i Java i EJB 3.0.

POJO-klassen kan overskrive visse metoder såsom Serializable eller også fra Object-klassen.

En POJO må ikke gøre følgende:

1. En POJO-klasse må ikke udvide de foruddefinerede klasser såsom HttpServlet, Arrays, Calendar osv. Hvis vi f.eks. skriver, public class MyClass extends javax.servlet.http.HttpServlet, kan klassen MyClass ikke betragtes som en POJO-klasse.

2. En POJO-klasse må ikke indeholde på forhånd specificerede annotationer. For eksempel @Retention(RetentionPolicy.RUNTIME) public class MyClass{..} er ikke en POJO-klasse.

3. En POJO-klasse kan ikke implementere foruddefinerede grænseflader. For eksempel public class Test implements javax.ejb.EntityBean { … } kan ikke betragtes som en POJO-klasse.

Nu skal vi implementere POJO-klassen i Java.

Eksempel på POJO-klasse

POJO-klassen definerer generelt en enhed. Hvis du f.eks. ønsker en intern klasse, kan du oprette en POJO som følger:

// Intern POJO class to represent entity Internpublic class Intern { // default field String name; // public field public String role; // private field private double salary; //arg-constructor to initialize fields public Intern(String name, String role, double salary) { this.name = name; this.role = role; this.salary = salary; } // getter method for name public String getName() { return name; } // getter method for role public String getRole() { return role; } // getter method for salary public Double getSalary() { return salary; }}

Overstående eksempel viser tydeligt en veldefineret POJO-klasse. I dette eksempel kan du se, at adgangsmodifikatorerne for felterne ikke er begrænset. De kan have alle adgangsmodifikatorer som public, private, default eller protected. Du kan også bemærke, at der i POJO-klassen ikke er behov for at tilføje nogen konstruktør.

Vi kan bruge POJO-klassen i enhver Java-kode. POJO-klassen er ikke bundet til rammen. Men vi kan ikke implementere denne POJO-klasse med nogen reelle konventioner for at ændre klassens tilstand.

POJO opfører sig som et objekt, der inkorporerer applikationens forretningslogik. Den følgende figur viser, hvordan en POJO-klasse fungerer. På billedet kan man tydeligt se, at controlleren interagerer med forretningslogikken. Forretningslogikken interagerer til gengæld med POJO-klassen for at få adgang til databasen.

Hvad er Java Beans?

Java Beans er en særlig type af POJO’er. Men der er nogle begrænsninger for, at Java beans kan blive POJO’er. Disse begrænsninger er som følger:

1. Alle Java Beans kan være POJO’er, men alle POJO-klasser kan ikke være Java Beans.

2. Java Beans skal implementere grænsefladen Serializable.

3. Alle felter i Java Beans skal være private for at give fuldstændig kontrol over felterne.

4. Alle felter skal have enten getter- eller setter-metoder eller begge dele.

5. Der skal være en no-arg-konstruktør i en bønne.

6. Vi kan kun få adgang til felterne ved hjælp af konstruktør eller getter-settere.

Kode til forståelse af JavaBeans

package com.techvidvan.pojoclass;import java.io. * ;class Student implements java.io.Serializable { private int id; private String name; public Student() {} public void setId(int id) { this.id = id; } public int getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; }}public class Test { public static void main(String args) { Student s = new Student(); //object is created s.setName("Rita"); //setting value to the object System.out.println("Name of the student is: " + s.getName()); }}

Output:
Navnet på den studerende er: Rita

Java POJO-klasse vs Java Bean

Nu da vi har diskuteret både POJO-klasse og Java beans, lad os diskutere forskellene mellem dem:

POJO JAVA BEAN
Der er ingen begrænsninger for POJO-klassen ud over dem, der er påtvunget af Java-specifikationssproget. Java Bean er en særlig POJO-klasse, der har nogle begrænsninger.
POJO-klassen giver ikke meget kontrol over felterne. Java Bean giver fuldstændig kontrol over medlemmerne.
POJO-klassen kan eller kan ikke implementere en Serializable-grænseflade. En Java Bean skal implementere en Serializable-grænseflade.
Vi kan få direkte adgang til felterne ved hjælp af deres navne Vi kan kun få adgang til felterne inde i Java Bean’en ved hjælp af getters og setters-metoder.
Der kan være alle adgangsmodifikatorer for felter. Felter i Java Beans må kun være private.
Der kan eller kan ikke være en no-arg-konstruktør i POJO-klassen. Der skal være en no-arg-konstruktør i Java Beans.
Vi bruger POJO-klassen, når der ikke er behov for at sætte begrænsninger på felterne, og der kan være fuld adgang over felterne. Vi bruger Java Beans, når vi ikke ønsker at give fuld adgang til entiteterne.

Konklusion

Vi lærte POJO-klassen i Java, som forbedrer læsbarheden af koden. Vi diskuterede også virkelige enheder. JavaBeans ligner næsten Java POJO-klassen, men den har også nogle forskelle, som vi har diskuteret i denne artikel. Vi håber, at du måske har forstået, hvordan POJO-klassen fungerer og implementeres i Java.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.