POJO в Java означава Plain Old Java Object. Това е обикновен обект, който не е обвързан от никакви специални ограничения. Файлът POJO не изисква специален клас път. Повишава четливостта и възможността за повторна употреба на Java програма.
POJO вече са широко разпространени поради лесната им поддръжка. Те са лесни за четене и писане. POJO класът няма никаква конвенция за именуване на свойства и методи. Не е обвързан с нито един Java рамка; всяка Java програма може да го използва.
Терминът POJO е въведен от Мартин Фаулър (Американски разработчик на софтуер) през 2000 г. е наличен в Java от EJB 3.0 от sun microsystem.
Като цяло POJO клас съдържа променливи и техните Getters и Setters.
Класовете POJO са подобни на Beans, тъй като и двата се използват за дефиниране на обекти за увеличаване на четливостта и повторната употреба. Единствената разлика между тях е, че Bean файловете имат някои ограничения, но POJO файловете нямат специални ограничения.
Пример:
Класът POJO се използва за дефиниране на обектните обекти. Например, можем да създадем клас POJO за служители, за да дефинираме неговите обекти.
По-долу е даден пример за Java POJO клас:
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; } }
Горният клас служители е пример за POJO клас служители. Ако работите върху Eclipse, можете лесно да генерирате Setters и Getters, като щракнете с десния бутон върху програмата Java и отидете до Source-> Generate Getters и Setters.
Щракнете с десния бутон върху програмата Java и изберете Генериране на средства за получаване и настройка.
Сега щракнете върху Генерирай опция, дадена в долната част на прозореца за генериране. Той автоматично ще генерира сетери и гетери.
какво прави ravel в python
Свойства на POJO клас
По-долу са някои свойства на класа POJO:
- Класът POJO трябва да е публичен.
- Трябва да има публичен конструктор по подразбиране.
- Може да има конструктор на аргументи.
- Всички обекти трябва да имат някои публични Getters и Setters за достъп до стойностите на обекта от други Java програми.
- Обектът в POJO Class може да има всякакви модификации на достъпа като частен, публичен, защитен. Но всички променливи на екземпляра трябва да бъдат частни за подобрена сигурност на проекта.
- POJO клас не трябва да разширява предварително дефинирани класове.
- Не трябва да прилага предварително зададени интерфейси.
- Не трябва да има предварително зададена анотация.
Работа на POJO Class
Класът POJO е обектен клас, който капсулира бизнес логиката. В MVC архитектура, контролерът взаимодейства с бизнес логиката, която контактува с POJO клас за достъп до данните.
По-долу е работата на класа POJO.
Как да използвате POJO клас в Java програма
Класът POJO е създаден за използване на обектите в други Java програми. Основното предимство на класа POJO е, че няма да се налага да създаваме обекти всеки път в други Java програми. Просто можем да осъществим достъп до обектите с помощта на методите get() и set().
За достъп до обектите от класа POJO следвайте стъпките по-долу:
- Създайте обекти от клас POJO
- Задайте стойностите с помощта на метода set().
- Вземете стойностите с помощта на метода get().
Например, създайте файл с клас MainClass.java в рамките на същия пакет и напишете следния код в него:
динамичен масив java
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()); } }
Изход:
Name: Alisha Id: A001 Salary: 200000.0
От горния пример можем да видим, че имаме достъп до свойствата на клас POJO в MainClass.java.
POJO е подобен на Bean Class, така че хората често се бъркат между тях; нека видим разликата между POJO и Bean.
Java Bean
Java Bean клас също е обектен клас, който капсулира няколко обекта в един файл (Bean Class File). Има някои разлики между POJO и Bean.
Java POJO и Bean накратко:
- Всички Bean файлове могат да бъдат POJO, но не всички POJO са bean-ове.
- Всички Bean файлове могат да имплементират сериализуем интерфейс, но не всички POJO могат да имплементират сериализуем интерфейс.
- И двете свойства трябва да са частни, за да имате пълен контрол върху полетата.
- Свойствата трябва да имат getters и setter за достъп до тях в други Java програми.
- Класът Bean е подмножество на класа POJO.
- Няма голям недостатък при използването на POJO, но няколко недостатъка може да са използването на класа Bean.
- POJO се използва, когато искаме да предоставим пълен достъп на потребителите и да ограничим нашите членове. И Bean се използва, когато искаме да предоставим частичен достъп на членовете.
POJO Vs. Боб
POJO | Боб |
---|---|
В Pojo няма специални ограничения освен конвенциите на Java. | Това е специален тип POJO файлове, които имат някои специални ограничения, различни от конвенциите на Java. |
Той осигурява по-малък контрол върху полетата в сравнение с Bean. | Осигурява пълна защита на полетата. |
Файлът POJO може да имплементира интерфейса Serializable; но не е задължително. | Класът Bean трябва да реализира интерфейса Serializable. |
Класът POJO може да бъде достъпен чрез използване на техните имена. | Класът Bean може да бъде достъпен само чрез използване на гетери и сетери. |
Полетата могат да имат всеки от модификаторите за достъп, като публичен, частен, защитен. | Полетата могат да имат само частен достъп. |
В POJO не е необходимо да има конструктор без аргументи; може и да го няма. | Трябва да има конструктор без аргументи. |
Няма никакви недостатъци при използването на POJO | Недостатъкът на използването на Bean е, че конструкторът по подразбиране и публичният сетер могат да променят състоянието на обекта, когато той трябва да бъде неизменен. |