¿Qué es un POJO, EJB y un Bean?
Voy a lanzar una serie de post dedicados a conceptos interesantes sobre Java con motivo de la aparición de Java 8 para que nunca olvidemos quiénes somos y de dónde venimos.
Hoy hablaremos de tres conceptos claves sobre tipos de clases.
POJO son las iniciales de "Plain Old Java Object", que puede interpretarse como "Un objeto Java Plano Antiguo". Un POJO es una instancia de una clase que no extiende ni implementa nada en especial. Para los programadores Java sirve para enfatizar el uso de clases simples y que no dependen de un framework en especial. Este concepto surge en oposición al modelo planteado por los estándares EJB anteriores al 3.0, en los que los Enterprise JavaBeans (EJB) debían implementar interfaces especiales.
Por ejemplo, un Controller de Spring tiene que extender de SimpleFormController, e implementar los métodos abstractos de ese tipo: por eso, no es un POJO. Un Servlet, tiene que extender de HttpServlet por lo que tampoco es un POJO. En cambio, si defines una clase Cliente con atributos y unas cuantas operaciones, tienes un simple y modesto POJO.
Un Enterprise Java Bean (EJB) es un componente de negocio Java Enterprise, y para su ejecución necesita un contenedor EJB/J2EE (JBoss, WAS, OAS, etc). El hecho de usar EJB's te da acceso a los servicios del Contenedor EJB (manejo de transacciones, seguridad ,persistencia, etc) que simplifican bastante la construcción de soluciones empresariales.
Un JavaBean (o también conocido simplemente como Bean) es una clase simple en Java que cumple con ciertas normas con los nombres de sus propiedades y métodos.
Un JavaBean debe tener un constructor sin argumentos, tiene declarados todos sus atributos como privados y para cada uno de ellos un método setter y getter, añadiéndole la palabra "set" o "get" al nombre del atributo y deben ser serializables. Mediante estos JavaBeans, desarrollamos nuestro modelo de objetos (o modelo de dominio) para la aplicación.
Por ejemplo:
public class ClienteBean implements java.io.Serializable { private String nombre; private int edad; public ClienteBean() { // Constructor } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } } |
Gracias por la información...
Gracias por el post!
Gracias por la aclaracion 🙂
Excelente concepto.
Gracias, me sirvio de mucho!!
Gracias fue de mucha ayuda
Gracias, es lo primero que entiendo después de revisar por primera vez Java EE, Maven, Framework, Spring, eclipselink, etc, etc, etc.
Gracias me fue de mucha ayuda!
Muy Clara la explicación, muy buena
Muchas gracias, es una buena aclaracion.
Saludos
Gracias, me fue muy útil.
Información util!.Gracias
gracias por la informacion muy buena muchacho jopo peluo
buena información, solo falto mencionar que es ser "serializable":
"Serializable. Al poder convertir el objeto a bytes, ese objeto se puede enviar a través de red, guardarlo en un fichero, y después reconstruirlo al otra lado de la red, leerlo del fichero,....
Para que un objeto sea serializable basta con que implemente la interfaz Serializable. Como la interfaz Serializable" obtenido de: http://chuwiki.chuidiang.org/index.php?title=Serializaci%C3%B3n_de_objetos_en_java
Saludos!
¡Gracias por la aportación!, así queda mucho más completa la entrada.
me queda una duda, un pojo y un bean son lo mismo?y el constructor debe ser vacio o solo sin argumentos? gracias
Simple y al grano!!
Gracias!!!
Muy buena la explicación. ¡Gracias!
Gracias
Excelente, muy claro
[…] Hola mira creo que esto puede ayudar a tu pregunta y como diferenciarlos http://carlospesquera.com/que-es-un-pojo-ejb-y-un-bean/ […]
Excelente, simple y claro.
exelente articulo amigo
Muy buena información y muy concreta junto con sus ejemplos.