Explicación del ciclo de vida de Spring Bean [con ejemplo de codificación]
Publicado: 2020-08-12Bean es un objeto en una aplicación. Un bean se crea, se usa y finalmente se destruye cuando su propósito termina. Estas son las diferentes etapas del ciclo de vida de una primavera. El ciclo de vida completo del frijol Spring es supervisado por el contenedor Spring IoC (Inversion of Control). Es por eso que estos frijoles se llaman frijoles de primavera.
fuente
Tabla de contenido
El ciclo de vida de un frijol de primavera
fuente
En un ciclo de vida de un frijol de primavera, en primer lugar, se crea una instancia de un frijol. Después de la creación de instancias, un bean pasa por una secuencia de pasos antes de estar listo para usarse. Cuando ya no se necesita un bean para ninguna función, se destruye.
Leer: Las 18 mejores ideas y temas emocionantes de proyectos de primavera para principiantes
El ciclo de vida del frijol primavera se puede controlar de las siguientes maneras
- Instanciación usando:
- Interfaz de devolución de llamada InitializingBean.
- Método init() personalizado del archivo de configuración del bean.
- Interfaces conscientes para distintas acciones.
- Anotaciones PostConstruct y PreDestroy.
- Destrucción
- Interfaz de devolución de llamada desechableBean
- Método personalizado destroy() del archivo de configuración del bean.
Instanciación de un frijol
El primer proceso en el ciclo de vida del frijol primaveral es una instanciación. La creación de un bean se basa en el archivo de configuración de bean JAVA o XML. Esto se puede hacer de dos maneras.

Ellos son:
- Interfaz de devolución de llamada InitializingBean: la creación de instancias de esta manera se realiza en un método denominado afterPropertiesSet(). Este método está presente en la interfaz org.springframework.beans.factory.InitializingBean . En el siguiente programa, se crea una clase que implementa esta interfaz. Esto permite usar el método afterPropertiesSet() de esa interfaz en la clase creada.
El siguiente es el programa que representa este proceso de creación de instancias.
importar org.springframework.beans.factory.InitializingBean;
clase pública Createbean implementa InitializingBean
{
@Anular
public void afterPropertiesSet() lanza una excepción
{
// Bean se inicializa
}
}
- Método personalizado de creación de instancias en el archivo de configuración del bean: en este proceso, se utiliza un archivo de configuración basado en XML. El método de inicio de este archivo se usa para nombrar específicamente el método de creación de instancias. Este método se usa en la clase para la creación de instancias de beans. La definición local de un solo bean se muestra a continuación. De esta manera, podemos crear un solo bean.
frijoles.xml:
<frijoles>
<bean id=”creatingbean” class=”com.workinginjava.work.Creatingbean”
método-inicial=”createInit” ></bean>
</frijoles>
Echa un vistazo a: Los 7 principales proyectos y temas emocionantes de Spring Boot para principiantes
El siguiente es el programa que representa este proceso de creación de instancias al cargar beans.xml
paquete com.workinginjava.work;
clase pública Creando bean
{
public void createInit()
//El método init personalizado se utiliza para la creación de instancias de un bean
}
Interfaces conscientes: la infraestructura de Spring Framework proporciona varias interfaces conscientes. Estas interfaces inculcan cierto comportamiento distinto a un bean creado.

Algunas de las interfaces conscientes importantes incluyen:
- BeanFactoryAware: setBeanFactory() proporciona acceso a la fábrica de beans que creó el objeto.
- BeanNameAware: el método setBeanName() en la interfaz BeanNameAware proporciona el nombre del bean.
- ApplicationContextAware: el método setApplicationContext() bajo esta interfaz específica proporciona el ApplicationContext del bean.
Anotaciones PostConstruct y PreDestroy: PostConstruct es un método anotado. Se llama después de la construcción del bean y antes de solicitar un objeto. PreDestroy es también un método anotado. Se llama justo antes de la destrucción de un frijol.
El siguiente programa muestra el uso de anotaciones.
importar javax.anotación.PostConstruct;
importar javax.anotación.PreDestroy;
clase pública BeanWork
{
@PostConstruct
public void createInit()
{
//Iniciación de bean(PostConstruct)
}
@PreDestroy
public void createDestroy()
{
//Destrucción de bean(PreDestroy)
}
}
createInit() y createDestroy() son métodos personalizados de iniciación y destrucción de un bean. Esto se hace usando el archivo de configuración del bean XML.
Destrucción de un frijol
El último proceso en el ciclo de vida del frijol de primavera es el proceso de destrucción. Es el proceso de quitar un frijol. La eliminación de un bean se basa en el archivo de configuración de bean JAVA o XML.
Esto se puede hacer de dos maneras
- Interfaz de devolución de llamada de AvailableBean: la eliminación se realiza en un método denominado destroy(). Este método está presente en la interfaz org.springframework.beans.factory.DisposableBean . En el siguiente programa, se crea una clase que implementa esta interfaz. Esto permite usar el método destroy() de esa interfaz en la clase creada .
El siguiente es el programa que representa este proceso de creación de instancias.
importar org.springframework.beans.factory.DisposableBean;
clase pública Destroyingbean implementa AvailableBean
{
@Anular
public void destroy() lanza una excepción
{
// Bean es destruido
}
}
- Método personalizado de destrucción creado en el archivo de configuración del bean: Aquí se utiliza un archivo de configuración basado en XML. El método de destrucción de este archivo se usa para nombrar específicamente el método de destrucción. Este método se usa luego en la clase para la destrucción del bean. La definición local de un solo bean y los pasos para destruirlo se muestran a continuación.
Frijoles _ xml:
<frijoles>
<bean id=”destroyingbean” class=”com.workinginjava.work.Destroyingbean”
método de destrucción=”createDestroy” ></bean>
</frijoles>
El siguiente es el programa que representa este proceso de destrucción al cargar beans.xml:
paquete com.workinginjava.work;
clase pública Destroyingbean
{
public void createDestroy()
//El método de destrucción personalizado se usa para la destrucción de un bean
}

Los frijoles de primavera se crean para un propósito específico. Entonces, cada frijol pasa por un ciclo de vida de primavera distinto. Hay dos formas de comenzar y finalizar el ciclo de vida de Spring Bean. Si se utilizan las interfaces InitializingBean y AvailableBean, vincula el código a Spring. Una mejor manera es identificar el método init y el método destroy en el archivo de configuración del bean.
Lea también: Salario de desarrollador de primavera en India: para principiantes y experimentados
Aprenda desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.
Terminando
Estos puntos sobre el ciclo de vida de los frijoles de primavera podrían responder algunas preguntas. Aún así, plantean nuevos para usted: ¿Cuáles son los recursos para un aspirante a desarrollador de Full Stack y el uso de Spring Framework? ¿Cuál es el alcance en este campo? Y, lo más importante, ¿cómo construir una carrera en este dominio?
Si está interesado en obtener más información sobre el desarrollo de pila completa, consulte el Diploma PG en desarrollo de software de pila completa de upGrad & IIIT-B, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos y asignaciones. , estado de exalumno de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.