POJO’s

POJO: La clase completamente independiente del Framework.

POJO significa Plain Old Java Object. Se trata de un objeto Java común, no vinculado por ninguna restricción especial que no sea forzada por la especificación de lenguaje Java y que no requiera ninguna ruta de clase. POJOs se utilizan para aumentar la legibilidad y la reutilización de un programa.

POJO es un objeto que encapsula la lógica de negocio (Business Logic). La siguiente imagen muestra un ejemplo práctico de la clase POJO. Los controladores interactúan con su lógica de negocio, que a su vez interactúan con POJO para acceder a la base de datos. En este ejemplo, una entidad de base de datos está representada por POJO. Este POJO tiene los mismos miembros que la entidad de la base de datos.

NO debe contener lo siguiente:

  • Extender clases preespecificadas, Ej: public class GFG extends javax.servlet.http.HttpServlet {...} no es una clase POJO.
  • Implementar interfaces preespecificadas, Ej: public class Bar implements javax.ejb.EntityBean {...} no es una clase POJO.
  • Anotaciones preespecificadas, Ej: @javax.persistence.Entity public class Baz {...} no es una clase POJO.

POJOs básicamente define una entidad. Si en tu programa deseas una clase de empleado, entonces puedes crear un POJO de la siguiente manera:

// Employee POJO clase que representa una entidad empleado
public class Employee
{
// campo por defecto
String name;

// campo público
public String id;

// salario privado
private double salary;

//constructor para inicializar los campos
public Employee(String name, String id, double salary)
{
  this.name = name;
  this.id = id;
  this.salary = salary;
}

// getters
public String getName()
{
  return name;
}

public String getId()
{
  return id;
}

public Double getSalary()
{
  return salary;
}
}

clase principal: main

...
List<Employee> lista = new ArrayList<Employee>
 
Employee e1 = new Employee("Juan",1,1000);
Employee e2 = new Employee("Perico",2,2000);
Employee e3 = new Employee("Andrés",3,3000);
lista.add(e1);
lista.add(e2);
lista.add(e3);
...
for (Employee dto:lista) {
   system.ot.println(dto.getId()+" "+dto.getName()+" "+dto.getSalary());
}

 

El ejemplo anterior es un ejemplo bien definido de la clase POJO. Como puede ver, no hay restricción sobre el acceso-modificador de los campos. Pueden ser privados, predeterminados, protegidos o públicos. Tampoco es necesario incluir ningún constructor en él.