Ответ
POJO (Plain Old Java Object) — это простой Java-класс, который не зависит от специфичных фреймворков, не наследует предопределенные классы и не реализует особые интерфейсы. Его основная цель — инкапсуляция данных с минимальной логикой.
Пример POJO-класса:
public class User {
private String name;
private int age;
// Геттеры и сеттеры
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
Ключевые характеристики:
- Независимость от инфраструктуры — не содержит аннотаций фреймворков (например,
@Entity,@JsonProperty). - Простота — только поля, стандартные геттеры/сеттеры и, возможно, базовые методы (например,
toString()). - Следование Java-конвенциям — должен иметь конструктор по умолчанию.
Применение:
- DTO (Data Transfer Object) — для передачи данных между слоями приложения.
- Модели предметной области — представление бизнес-сущностей.
- Значения в коллекциях — благодаря простоте и предсказуемости.
Почему это важно? POJO обеспечивает переносимость кода, упрощает тестирование (так как не требует поднятия контекста фреймворка) и делает структуру данных прозрачной.