Cycle de vie d'un bean
Cycle de création
- Instanciation
- Remplissage des propriétés
- Appel de
setBeanName
de tous les beans implémentantBeanNameAware
- Appel de
setBeanFactory
de tous les beans implémentantBeanFactoryAware
- Appel de
setApplicationContext
de tous les beans implémentantApplicationContextAware
- Pré-initialisation: possibilité d'implémenter une des méthodes de l'interface
BeanPostProcessor
- Appel de
afterPropertiesSet
de tous les beans implémentantInitializingBean
- Méthode d'initialisation custom (marquée par l'annotation de fonction
@Bean
) - Appel des méthodes implémentées de l'interface
BeanPostProcessor
Spring dispose de bien plus d'interfaces de type "Aware".
Elles sont toutes listées sur cette référence.
Cycle de destruction
- Appel de la méthode
destroy()
si le bean implémente l'interfaceDisposableBean
- Appel de la méthode de destruction custom
(marquée par l'annotation de fonction
@Bean
)
Annotation de fonction @Bean
L'annotation @Bean
prend plusieurs valeurs optionnelles de configuration.
initMethod
: Le nom de la méthode à appeler sur initialisation (c.f. "Méthode d'initialisation custom" dans le Cycle de création)destroyMethod
: Le nom de la méthode à appeler sur destruction (c.f. "Méthode de destruction custom" dans le Cycle de destruction)
No Comments