POJO w języku Java oznacza zwykły stary obiekt Java. Jest to zwykły przedmiot, który nie jest związany żadnym szczególnym ograniczeniem. Plik POJO nie wymaga żadnej specjalnej ścieżki klas. Zwiększa czytelność i możliwość ponownego wykorzystania programu Java.
POJO są obecnie powszechnie akceptowane ze względu na ich łatwą konserwację. Łatwo się je czyta i pisze. Klasa POJO nie ma żadnej konwencji nazewnictwa właściwości i metod. Nie jest z żadnym powiązany Jawa Struktura; każdy program Java może z niego korzystać.
Termin POJO został wprowadzony przez Martina Fowlera (Amerykański programista) w 2000 roku. Jest dostępny w Javie z mikrosystemu EJB 3.0 firmy Sun.
Ogólnie rzecz biorąc, klasa POJO zawiera zmienne oraz ich metody pobierające i ustawiające.
Klasy POJO są podobne do klas Beans, ponieważ obie służą do definiowania obiektów w celu zwiększenia czytelności i możliwości ponownego użycia. Jedyna różnica między nimi polega na tym, że pliki Bean mają pewne ograniczenia, ale pliki POJO nie mają żadnych specjalnych ograniczeń.
Przykład:
Klasa POJO służy do definiowania encji obiektu. Na przykład możemy utworzyć klasę Employee POJO, aby zdefiniować jej obiekty.
Poniżej znajduje się przykład klasy Java POJO:
Pracownik.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; } }
Powyższa klasa pracownika jest przykładem klasy pracownika POJO. Jeśli pracujesz w środowisku Eclipse, możesz łatwo wygenerować obiekty ustawiające i pobierające, klikając prawym przyciskiem myszy program Java i przechodząc do Źródło-> Generuj moduły pobierające i ustawiające.
Kliknij prawym przyciskiem myszy program Java i wybierz opcję Generuj moduły pobierające i ustawiające.
Teraz kliknij na Generować opcja podana na dole okna Generuj. Automatycznie wygeneruje setery i gettery.
instrukcja JavaScript if
Właściwości klasy POJO
Poniżej znajdują się niektóre właściwości klasy POJO:
- Klasa POJO musi być publiczna.
- Musi mieć publiczny konstruktor domyślny.
- Może mieć konstruktor argumentów.
- Wszystkie obiekty muszą mieć publiczne metody pobierające i ustawiające, aby inne programy Java mogły uzyskać dostęp do wartości obiektów.
- Obiekt w klasie POJO może mieć dowolne modyfikacje dostępu, takie jak prywatny, publiczny, chroniony. Jednak wszystkie zmienne instancji powinny być prywatne, aby zwiększyć bezpieczeństwo projektu.
- Klasa POJO nie powinna rozszerzać predefiniowanych klas.
- Nie powinien implementować wcześniej określonych interfejsów.
- Nie powinien mieć żadnych z góry określonych adnotacji.
Działanie klasy POJO
Klasa POJO jest klasą obiektową, która hermetyzuje logikę biznesową. W architekturze MVC kontroler współdziała z logiką biznesową, która kontaktuje się z klasą POJO w celu uzyskania dostępu do danych.
Poniżej znajduje się działanie klasy POJO.
Jak używać klasy POJO w programie Java
Klasa POJO jest tworzona w celu używania obiektów w innych programach Java. Główną zaletą klasy POJO jest to, że nie będziemy musieli za każdym razem tworzyć obiektów w innych programach Java. Dostęp do obiektów możemy uzyskać po prostu za pomocą metod get() i set().
Aby uzyskać dostęp do obiektów klasy POJO należy wykonać poniższe kroki:
przechodzenie przez drzewo binarne w ramach sprzedaży pocztowej
- Utwórz obiekty klasy POJO
- Ustaw wartości za pomocą metody set().
- Pobierz wartości za pomocą metody get().
Na przykład utwórz plik klasy MainClass.java w tym samym pakiecie i napisz w nim następujący kod:
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()); } }
Wyjście:
Name: Alisha Id: A001 Salary: 200000.0
Z powyższego przykładu wynika, że uzyskaliśmy dostęp do właściwości klasy POJO w pliku MainClass.java.
POJO jest podobne do klasy Bean, więc ludzie często się między nimi mylą; zobaczmy różnicę między POJO i Beanem.
Fasola Java
Klasa Java Bean jest także klasą obiektów, która hermetyzuje kilka obiektów w jednym pliku (plik klasy Bean). Istnieją pewne różnice między POJO i Beanem.
Java POJO i Bean w skrócie:
- Wszystkie pliki Bean mogą być plikami POJO, ale nie wszystkie POJO są komponentami bean.
- Wszystkie pliki Bean mogą implementować interfejs serializowalny, ale nie wszystkie POJO mogą implementować interfejs serializowalny.
- Obie właściwości powinny być prywatne, aby mieć pełną kontrolę nad polami.
- Właściwości muszą mieć moduły pobierające i ustawiające, aby uzyskać do nich dostęp w innych programach Java.
- Klasa Bean jest podzbiorem klasy POJO.
- Używanie POJO nie ma większych wad, ale użycie klasy Bean może mieć kilka wad.
- POJO stosuje się, gdy chcemy zapewnić użytkownikom pełny dostęp i ograniczyć naszych członków. A komponent Bean jest używany, gdy chcemy zapewnić członkom częściowy dostęp.
POJO vs. Fasola
POJO | Fasola |
---|---|
W Pojo nie ma żadnych specjalnych ograniczeń innych niż konwencje Java. | Jest to specjalny typ plików POJO, które mają pewne specjalne ograniczenia inne niż konwencje Java. |
Zapewnia mniejszą kontrolę nad polami w porównaniu do Beana. | Zapewnia pełną ochronę na polach. |
Plik POJO może implementować interfejs Serializable; ale nie jest to obowiązkowe. | Klasa Bean powinna implementować interfejs Serializable. |
Dostęp do klasy POJO można uzyskać za pomocą ich nazw. | Dostęp do klasy Bean można uzyskać jedynie za pomocą metod pobierających i ustawiających. |
Pola mogą mieć dowolne modyfikatory dostępu, takie jak publiczny, prywatny, chroniony. | Pola mogą mieć dostęp tylko prywatny. |
W POJO nie jest konieczne posiadanie konstruktora bez argumentów; może go mieć lub nie. | Musi mieć konstruktor bezarg. |
Korzystanie z POJO nie ma żadnych wad | Wadą używania komponentu Bean jest to, że domyślny konstruktor i publiczna metoda ustawiająca mogą zmienić stan obiektu, gdy powinien on być niezmienny. |