La anotación @PreDestroy
en Spring Boot se utiliza para ejecutar un método específico justo antes de que un bean sea destruido, permitiendo realizar tareas de limpieza, como cerrar conexiones o liberar recursos. Esta funcionalidad es útil para garantizar que ciertas operaciones se realicen antes de que la aplicación finalice o el contexto de Spring elimine un bean de la memoria.
La anotación @PreDestroy
proviene del paquete javax.annotation
y se aplica a métodos dentro de los beans administrados por Spring. Cuando el contenedor de Spring detecta esta anotación, ejecuta el método anotado antes de destruir el bean, asegurando que los recursos se gestionen de manera adecuada.
Para que @PreDestroy
funcione, el bean debe estar configurado como un componente de Spring, ya sea usando anotaciones como @Component
, @Service
, @Repository
, o mediante la declaración en un archivo de configuración XML.
Aquí tienes un ejemplo simple para entender cómo utilizar @PreDestroy
en un proyecto de Spring Boot:
import javax.annotation.PreDestroy;
import org.springframework.stereotype.Component;
@Component
public class MiBean {
// Método de inicialización
public void iniciar() {
System.out.println("Bean iniciado.");
}
// Método de limpieza antes de destruir el bean
@PreDestroy
public void limpiar() {
System.out.println("Bean a punto de ser destruido. Cerrando recursos...");
}
}
En este ejemplo, el método limpiar()
se ejecuta automáticamente antes de que el contenedor de Spring destruya el bean MiBean
. Esto permite realizar tareas de limpieza, como cerrar conexiones de bases de datos, archivos abiertos o detener hilos en ejecución.
Para más información, puedes consultar la documentación oficial de Spring.
Jorge García
Fullstack developer