Diferencia entre JavaBean y Spring bean

3 minutos de lectura

Avatar de usuario de Arpit Shah
Arpit Shah

Soy nuevo en Spring MVC y tengo una pequeña idea del uso de java beans en Java.
¿Cuál es la diferencia básica entre un bean Java y un bean Spring?

  • docs.spring.io/spring/docs/4.0.x/spring-framework-reference/…

    – JB Nizet

    18 de febrero de 2014 a las 22:12

  • Son patrones completamente diferentes. JavaBean: stackoverflow.com/q/3295496/139010

    – bola mate

    18 de febrero de 2014 a las 22:12


  • Son POJO simples cuyo ciclo de vida es mantenido por un contenedor. Los JavaBeans son administrados por un contenedor *estándar*(?) de Java, por ejemplo, JSF Managed Beans, EJBs, CDI beans… mientras que Spring beans son administrados por el contenedor Spring.

    –Luiggi Mendoza

    18 de febrero de 2014 a las 22:16

avatar de usuario de keya
clave

JavaBeans:

En un nivel básico, JavaBeans son simplemente clases de Java que se adhieren a ciertas convenciones de codificación. Específicamente, las clases que

  • tener public constructores predeterminados (sin argumento)
  • permitir el acceso a sus propiedades utilizando métodos de acceso (captador y definidor)
  • implementar java.io.Serializable

Frijoles de primavera:

Un bean Spring es básicamente un objeto administrado por Spring. Más específicamente, es un objeto que es instanciado, configurado y administrado de otro modo por un marco de primavera envase. Los beans de Spring se definen en archivos de configuración de Spring (o, más recientemente, con anotaciones), instanciados por contenedores de Spring y luego inyectados en aplicaciones.

Tenga en cuenta que Spring Beans no siempre tiene que ser JavaBeans. Spring beans podrían no implementar el java.io.Serializable interfaz, pueden tener argumentos en sus constructoresetc.

Esta es la diferencia muy básica entre JavaBeans y Spring beans.

Para obtener más información, consulte la fuente del texto anterior, el artículo de Shaun Abram JavaBeans vs Spring beans vs POJO.

Avatar de usuario de Hamid Hamid
hamid hamid

Java bean es una clase que debe seguir las siguientes convenciones:

1.Debe implementar Serializable. 2. Debe tener un constructor público sin argumentos. 3.Todas las propiedades en java bean deben ser privadas con métodos getters y setter públicos.

Spring beans son los objetos que forman la columna vertebral de su aplicación y son administrados por el contenedor Spring IoC.

avatar de usuario de raghu
raghu

Frijol de primavera:

Una clase que se desarrolla como parte de una aplicación Spring. Su ciclo de vida, que es administrado por Spring Container, se llama Spring Bean.

  • ¿Qué agrega esta respuesta más allá de la ya existente y aceptada?

    – Davis arenque

    20 de octubre de 2017 a las 4:59

  • Bienvenido a SO, asegúrese de que antes de publicar una respuesta, al menos busque en ese hilo otras respuestas de puntaje positivo o aceptadas, luego decida si su respuesta está agregando algo útil, entonces está bien, de lo contrario, absténgase de publicarlo.

    – mfaisalhyder

    20 de octubre de 2017 a las 5:24

avatar de usuario de rps
rps

Java beans y Spring beans están más relacionados que diferentes.

Para que una clase de Java se pueda utilizar como un bean de Java, sus nombres de método setter y getter necesidad estar de acuerdo con las pautas de JavaBean (también llamados patrones de diseño) para propiedades. Si una clase Java de este tipo es instanciable y manejable por el contenedor Spring IoC, es un Spring Bean. Para lograr esto, el programador alambres la clase como un frijol definición de un adecuado alcance mediante el uso de archivos de configuración XML o anotaciones o una combinación de ambos. El programador puede crear nuevos Spring Beans a partir de Spring Beans existentes conectando más al pasar este último a los argumentos del constructor del primero, ya sea como nombres de cadena como <idref> elementos o por inyección de dependencia (puede ser recursivo).

Esta respuesta se puede leer junto con mi respuesta SO para obtener más información general.

¿Ha sido útil esta solución?