logo

POJO

POJO en Java significa objeto Java antiguo simple. Es un objeto ordinario, que no está sujeto a ninguna restricción especial. El archivo POJO no requiere ninguna ruta de clase especial. Aumenta la legibilidad y reutilización de un programa Java.

Los POJO ahora son ampliamente aceptados debido a su fácil mantenimiento. Son fáciles de leer y escribir. Una clase POJO no tiene ninguna convención de nomenclatura para propiedades y métodos. No está ligado a ningún Java Estructura; cualquier programa Java puede usarlo.

El término POJO fue introducido por Martín Fowler (Un desarrollador de software estadounidense) en 2000. Está disponible en Java desde EJB 3.0 de Sun Microsystem.

Generalmente, una clase POJO contiene variables y sus Getters y Setters.

Las clases POJO son similares a los Beans ya que ambas se utilizan para definir los objetos para aumentar la legibilidad y la reutilización. La única diferencia entre ellos es que los archivos Bean tienen algunas restricciones, pero los archivos POJO no tienen ninguna restricción especial.

Ejemplo:

La clase POJO se utiliza para definir las entidades del objeto. Por ejemplo, podemos crear una clase POJO de empleado para definir sus objetos.

A continuación se muestra un ejemplo de la clase 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; } } 

La clase de empleado anterior es un ejemplo de una clase POJO de empleado. Si está trabajando en Eclipse, puede generar Setters y Getters fácilmente haciendo clic derecho en el programa Java y navegando hasta Fuente-> Generar captadores y definidores.

POJO

Haga clic derecho en el programa Java y seleccione Generar captadores y definidores.

POJO

Ahora, haga clic en el Generar opción que se encuentra en la parte inferior de la ventana Generar. Generará automáticamente definidores y captadores.

Linux ejecuta cmd

Propiedades de la clase POJO

A continuación se muestran algunas propiedades de la clase POJO:

  • La clase POJO debe ser pública.
  • Debe tener un constructor público predeterminado.
  • Puede tener el constructor de argumentos.
  • Todos los objetos deben tener algunos Getters y Setters públicos para acceder a los valores del objeto mediante otros programas Java.
  • El objeto de la clase POJO puede tener cualquier modificación de acceso, como privado, público o protegido. Sin embargo, todas las variables de instancia deben ser privadas para mejorar la seguridad del proyecto.
  • Una clase POJO no debe extender clases predefinidas.
  • No debe implementar interfaces preespecificadas.
  • No debe tener ninguna anotación preespecificada.

Funcionamiento de la clase POJO

La clase POJO es una clase de objeto que encapsula la lógica empresarial. En una arquitectura MVC, el Controlador interactúa con la lógica empresarial, que contacta con la clase POJO para acceder a los datos.

A continuación se muestra el funcionamiento de la clase POJO.

diseño de cuadrícula
POJO

Cómo utilizar la clase POJO en un programa Java

La clase POJO se crea para utilizar los objetos en otros programas Java. La principal ventaja de la clase POJO es que no tendremos que crear objetos cada vez en otros programas Java. Simplemente podemos acceder a los objetos utilizando los métodos get() y set().

Para acceder a los objetos de la clase POJO, siga los pasos a continuación:

  • Crear objetos de clase POJO
  • Establezca los valores usando el método set()
  • Obtener los valores usando el método get()

Por ejemplo, cree un archivo de clase MainClass.java dentro del mismo paquete y escriba el siguiente código en él:

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()); } } 

Producción:

 Name: Alisha Id: A001 Salary: 200000.0 

En el ejemplo anterior, podemos ver que hemos accedido a las propiedades de la clase POJO en MainClass.java.

POJO es similar a Bean Class, por lo que la gente a menudo se confunde entre ellos; veamos la diferencia entre POJO y Bean.

frijol java

Clase de frijol Java También es una clase de objeto que encapsula varios objetos en un solo archivo (Bean Class File). Existen algunas diferencias entre POJO y Bean.

Java POJO y Bean en pocas palabras:

  • Todos los archivos Bean pueden ser POJO, pero no todos los POJO son beans.
  • Todos los archivos Bean pueden implementar una interfaz serializable, pero no todos los POJO pueden implementar una interfaz serializable.
  • Ambas propiedades deben ser privadas para tener un control total de los campos.
  • Las propiedades deben tener captadores y definidores para acceder a ellas en otros programas Java.
  • La clase Bean es un subconjunto de la clase POJO.
  • No existe ninguna desventaja importante al usar POJO, pero algunas desventajas pueden ser el uso de la clase Bean.
  • El POJO se utiliza cuando queremos proporcionar acceso completo a los usuarios y restringir a nuestros miembros. Y el Bean se utiliza cuando queremos proporcionar acceso parcial a los miembros.

POJO vs. Frijol

POJO Frijol
En Pojo, no existen restricciones especiales aparte de las convenciones de Java. Es un tipo especial de archivos POJO, que tienen algunas restricciones especiales además de las convenciones de Java.
Proporciona menos control sobre los campos en comparación con Bean. Proporciona protección completa en los campos.
El archivo POJO puede implementar la interfaz serializable; pero no es obligatorio. La clase Bean debería implementar la interfaz Serializable.
Se puede acceder a la clase POJO usando sus nombres. Solo se puede acceder a la clase Bean mediante captadores y definidores.
Los campos pueden tener cualquiera de los modificadores de acceso, como público, privado, protegido. Los campos sólo pueden tener acceso privado.
En POJO, no es necesario tener un constructor sin argumentos; puede que lo tenga o no. Debe tener un constructor sin argumentos.
No hay ninguna desventaja al usar el POJO La desventaja de usar Bean es que el constructor predeterminado y el configurador público pueden cambiar el estado del objeto cuando debería ser inmutable.