La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cuáles son las diferencias y conexiones entre los objetos POJO y los objetos de clase Java?

¿Cuáles son las diferencias y conexiones entre los objetos POJO y los objetos de clase Java?

POJO y JavaBean son dos palabras clave comunes que generalmente son fáciles de confundir. El nombre completo de POJO es Objeto Java ordinario simple / Objeto Java antiguo puro. El chino se puede traducir como: clase Java ordinaria, con algunas. getters/setters El tipo de método se puede llamar POJO, pero JavaBean es mucho más complicado que POJO. Java Bean es un componente reutilizable. No existe una especificación estricta para Java Bean. Pero generalmente, dado que Java Bean es creado por un contenedor (como Tomcat), Java Bean debería tener un constructor sin parámetros. Además, Java Bean generalmente también implementa la interfaz serializable para implementar la persistencia del Bean. No se puede acceder a Java Bean a través de procesos

JavaBean es una tecnología de componentes, al igual que usted hace una llave, y esta llave se usará en muchos lugares, y esta llave también proporciona una variedad de funciones (puede usar esta llave con llave, martillo, palanca, etc.), y esta llave es un componente.

Generalmente, cuando establecemos un objeto de mapeo de base de datos en una aplicación web, solo podemos llamarlo POJO.

El nombre POJO (Plain Old Java Object) se utiliza para enfatizar que es un objeto Java ordinario, no un objeto especial. A partir de noviembre de 2005, "POJO" se utiliza principalmente para referirse a objetos Java que no se ajustan a un modelo, convención o marco de objetos Java específico, como EJB. Idealmente, un POJO es un objeto Java sin restricciones (excepto la especificación del lenguaje Java). ). Por ejemplo, un POJO no debe

extender una clase predeterminada, como public class Foo extends javax.servlet.http.HttpServlet { ...

implementar una interfaz predeterminada, como public class Bar implementa javax.ejb.EntityBean { ...

Contiene anotaciones predeterminadas, como @javax.ejb.Entity public class Baz{ ...

Entonces, debido a dificultades técnicas y otras razones, muchos productos o marcos de software compatibles con estilo POJO en realidad todavía requieren el uso de anotaciones predeterminadas, como para una persistencia más conveniente. JavaBean es un componente reutilizable escrito en lenguaje JAVA. La denominación, construcción y comportamiento de sus métodos deben ajustarse a convenciones específicas:

Esta clase debe tener un constructor público predeterminado.

Se accede a las propiedades de esta clase mediante captadores y definidores, y otros métodos siguen convenciones de nomenclatura estándar.

Esta clase debe ser serializable.

Debido a que estos requisitos se basan principalmente en convenciones más que en la implementación de interfaces, muchos desarrolladores consideran los JavaBeans como POJO que cumplen con convenciones de nomenclatura específicas. En resumen, cuando un Pojo es serializable, tiene un constructor sin parámetros y utiliza métodos getter y setter para acceder a las propiedades, es un JavaBean.

1. Para Java Bean, es un componente del modelo Java. Proporciona un formato estándar para usar clases de Java. Esta clase con un formato estándar se puede obtener automáticamente en programas de usuario y herramientas de administración visual. la capacidad de crear y gestionar estas clases.

Los Java Beans pueden hacer que las aplicaciones estén más orientadas a objetos, encapsular datos, separar la lógica comercial de la aplicación y la lógica de visualización, y reducir la complejidad del desarrollo y los costos de mantenimiento. JavaBean es un componente reutilizable escrito en lenguaje JAVA. Para escribirse como JavaBean, una clase debe ser concreta y pública, y tener un constructor sin parámetros. JavaBeans expone los campos internos como propiedades al proporcionar métodos públicos que se ajustan a patrones de diseño consistentes. Como todos sabemos, los nombres de las propiedades se ajustan a este patrón y otras clases de Java pueden descubrir y manipular estas propiedades de JavaBean a través del mecanismo de introspección.

Desde una perspectiva de programación, es la clase más básica que implementa los métodos get y set.

2. Enterprise Bean, también conocido como Enterprise JavaBean (EJB), es parte de J2EE y define un estándar para desarrollar múltiples aplicaciones empresariales basadas en componentes. Las características incluyen soporte de servicios web y herramientas de desarrollo centrales (SDK). En J2EE, los Enterprise Java Beans (EJB) se denominan Java Enterprise Beans y son el código central de Java, incluidos los beans de sesión (Session Bean), los beans de entidad (Entity Bean) y los beans controlados por mensajes (MessageDriven Bean). 1.Session Bean se utiliza para implementar la lógica empresarial. Puede tener estado o sin estado. Cada vez que un cliente realiza una solicitud, el contenedor selecciona un Session Bean para atender al cliente. Session Bean puede acceder directamente a la base de datos, pero más a menudo logrará el acceso a los datos a través de Entity Bean. Esta clase generalmente se implementa en modo singleton porque es necesaria para cada conexión. 2. Entity Bean es un objeto de modelo de dominio, que se utiliza para implementar el mapeo O/R y es responsable de mapear los registros de la tabla en la base de datos a los objetos Entity en la memoria. De hecho, crear un objeto Entity Bean es equivalente a crear un nuevo registro y. eliminar un Entity Bean. Los registros correspondientes se eliminarán de la base de datos al mismo tiempo. Cuando se modifica un Entity Bean, el contenedor sincronizará automáticamente el estado del Entity Bean con la base de datos. Los beans de entidad en la especificación Java Persistence 1.0 se utilizan sólo como objetos Java ordinarios (POJO) y se asignan a tablas de bases de datos relacionales. A diferencia de otros tipos de EJB, los beans de entidad se pueden asignar, serializar y enviar a través de la red como cualquier otro POJO. 3.MessageDriven Bean es un nuevo Enterprise Bean introducido en EJB2.0. Se basa en mensajes JMS y solo puede recibir mensajes JMS enviados por el cliente y luego procesarlos. MDB es en realidad un Session Bean asincrónico y sin estado. El cliente no necesita esperar después de llamar a MDB y regresa inmediatamente para procesar la solicitud del cliente de forma asincrónica. Esto es adecuado para situaciones en las que las solicitudes deben procesarse de forma asincrónica, como el procesamiento de pedidos, para evitar que el cliente espere mucho tiempo hasta que una llamada a un método devuelva el resultado. 3. La diferencia entre Enterprise Bean y JavaBean Inicialmente, el propósito de JavaBean era empaquetar código de software estándar que pudiera reutilizarse. En particular, se utiliza para ayudar a los fabricantes a desarrollar componentes de software Java para su uso en un entorno de desarrollo integrado (IDE). Estos incluyen componentes como controles Grid que los usuarios pueden arrastrar y soltar en el entorno de desarrollo. Desde entonces, JavaBean se puede expandir a un componente estándar de una aplicación web Java, y el marco del componente JavaBean se ha expandido a Enterprise Edition Bean (EJB).

Los JavaBeans y los Server Beans (a menudo llamados Enterprise JavaBeans (EJB)) tienen algunas similitudes básicas. Son objetos o componentes creados con un conjunto de propiedades para realizar sus tareas específicas. También tienen la capacidad de obtener otras funciones del contenedor alojado actualmente en el servidor. Esto hace que el comportamiento del bean varíe según la tarea y el entorno específicos. Los JavaBeans se desarrollan utilizando el paquete java.beans, que forma parte de Java 2 Standard Edition. JavaBeans son componentes que se ejecutan en el mismo espacio de direcciones en una máquina. JavaBeans son componentes en proceso. Los Enterprise Beans se desarrollan utilizando el paquete javax.ejb, que es una extensión del JDK estándar y forma parte de Java 2 Enterprise Edition. Los Enterprise Beans son componentes que se ejecutan en varios espacios de direcciones en varias máquinas. Por lo tanto, los Enterprise Beans son componentes entre procesos. Los JavaBeans generalmente se usan como widgets GUI, mientras que los Enterprise Beans se usan como objetos comerciales distribuidos. 4. POJO es un objeto Java normal (no JavaBean, EntityBean, etc.) y no desempeña ningún papel especial ni implementa ninguna interfaz específica de Java Framework. . POJO es un objeto Java simple y normal, que contiene procesamiento de lógica de negocios o lógica de persistencia, etc., pero no es un JavaBean, EntityBean, etc. No tiene ninguna función especial y no hereda ni implementa ninguna otra clase de marco de Java o interfaces. POJO no debería ser el JavaBean que pensamos por primera vez, y ciertamente no es EJB. No debería depender del marco, es decir, heredar o implementar ciertas clases o interfaces del marco. Por ejemplo: Action y ActionForm en Struts1 ciertamente no pertenecen a POJO, y Action en Struts2 no necesita heredar ninguna interfaz, por lo que en este caso Action es POJO, pero Action en Struts2 también puede heredar la clase ActionSupport. a POJO. POJO puede contener procesamiento de lógica de negocios y lógica de persistencia, y también puede contener métodos set y get similares a las propiedades de JavaBean y el acceso a propiedades. La explicación en la Enciclopedia Baidu es: Los objetos Java simples (objetos Java ordinarios simples) son en realidad JavaBeans comunes. El nombre POJO se usa para evitar confusión con EJB, y la abreviatura es más sencilla. Hay algunas clases con propiedades y sus métodos getter-setter. , a veces se puede usar como un objeto de valor o dto (Objeto de transformación de datos). Por supuesto, si tiene un atributo de operación simple, también es posible, pero los métodos comerciales no están permitidos y no se pueden llevar a cabo métodos como la conexión. .