Contrôle du cycle de vie : construction et destruction Cycle de vie
Spring permet d’intercepter la création et la description des objets Spring.
Il n’est pas possible d’utiliser les beans injectés directement dans le constructeur car à ce moment précis, Spring n’a pas encore instancié les objets contenus dans les membres de la classe. De même, l’appel à la méthode finally n’est pas simple car elle est appelée par le garbage collector et le finally est deprecated (JEP 421). Spring donne la possibilité de marquer des méthodes pour qu’elles soient appelées à la création et à la destruction de l’objet. Il existe plusieurs mécanismes.
Voici le plus récent.
Annotation |
Moment de l’appel |
@PostConstruct |
Après le constructeur, avec les beans initialisés. |
@PreDestroy |
Avant la destruction. |
Il est aussi possible d’utiliser les aspects de la programmation orientée aspect (AOP) pour effectuer des actions lors de la création et la destruction de l’objet.
Nous utilisions avant ces annotations des méthodes paramétrées dans la configuration avec les paramètres init-method et destroy-method comme dans l’exemple suivant :
<bean id="helloWorld"
class="com.tutorialspoint.HelloWorld"
init-method="init" destroy-method="destroy">
<property...