EJB y Spring se utilizan para desarrollar aplicaciones empresariales. Pero existen pocas diferencias entre ellos. Entonces, en este artículo hemos tratado de cubrir todas estas diferencias.
1. Enterprise Java Beans (EJB) :
EJB significa Enterprise Java Beans. Es un componente de software del lado del servidor que resume la lógica comercial de una aplicación. Un contenedor EJB proporciona el entorno de tiempo de ejecución para los elementos de software relacionados con la web, incluida la confiabilidad de la computadora, la administración del ciclo de vida de Java Servlet (JSL), el procedimiento de transacción y otros servicios web. Para ejecutar una aplicación EJB, necesitamos un servidor de aplicaciones como Jboss, Glassfish, Weblogic, Websphere, etc. Realiza la gestión del ciclo de vida, la agrupación de objetos, el procesamiento de transacciones, la seguridad, etc. Hay tres tipos de EJB.
- Bean de
sesión: el bean de sesión contiene lógica comercial que puede ser invocada por un cliente local, remoto o de servicio web. Hay dos tipos de beans de sesión:
(i). Bean de sesión con estado y (ii). Bean de sesión sin estado. - Bean controlado por mensajes: al
igual que el Bean de sesión, contiene la lógica comercial, pero se invoca al pasar un mensaje. - Bean de entidad:
resume el estado que se puede persistir en la base de datos. Está en desuso. Ahora, se reemplaza con JPA (Java Persistent API). Hay dos tipos de beans de entidad:
(i). Persistencia administrada por frijol y (ii). Persistencia gestionada por contenedor.
2. Spring :
Spring es un marco ligero de código abierto que permite a los desarrolladores de Java EE 7 crear aplicaciones empresariales sencillas, fiables y escalables. Este marco utiliza varias técnicas, como la programación orientada a aspectos (AOP), el objeto Java antiguo simple (POJO) y la inyección de dependencia (DI), para desarrollar aplicaciones empresariales. Este marco le ayuda a gestionar el objeto de negocio. Hizo que el desarrollo de aplicaciones web fuera mucho más fácil en comparación con los marcos de Java clásicos y las interfaces de programación de aplicaciones (API), como la conectividad de bases de datos Java (JDBC), JavaServer Pages (JSP) y Java Servlet. Las características del marco Spring, como la inversión de control (IoC), la programación orientada a aspectos (AOP) y la gestión de transacciones, lo hacen único entre la lista de marcos.
Diferencia entre EJB y Spring:
Propiedades | EJB | Primavera |
---|---|---|
Especificación | EJB es una especificación de Java EE. | La primavera es un marco. |
Inyección de dependencia | Puede inyectar cualquier cosa en el contenedor, incluidas fuentes de datos EJB, recursos JMS y recursos JPA. | Puede inyectar cualquier cosa, incluidas listas, propiedades, mapas y recursos JNDI. |
Gestión de transacciones | Solo es compatible con el administrador de transacciones JTA. | Admite múltiples administradores de transacciones como JTA, JDBC e Hibernate. |
Persistencia | Se integró estrechamente a JPA. | Admite varias tecnologías de persistencia como JDBC, Hibernate, JPA e iBatis. |
Mensajería | Proporciona capacidades de mensajería listas para usar a través de Message Driven Beans. | Necesitamos agregar la configuración de escucha para cada mensaje. |
Planificación | Proporciona una programación sencilla a través de EJB Time Service. | Necesitamos agregar y configurar Quartz para la programación. |
Seguridad | Admite seguridad declarativa y programática a través de JAAS. | Proporciona seguridad declarativa a través del archivo de configuración de Spring. |
POA | Proporciona apoyo limitado a través de interceptores. | Proporciona soporte robusto a través de AspectJ. |
Publicación traducida automáticamente
Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA