Skip to content

Cycle de vie d'un bean

Cycle de création

  • Instanciation
  • Remplissage des propriétés
  • Appel de setBeanName de tous les beans implémentant BeanNameAware
  • Appel de setBeanFactory de tous les beans implémentant BeanFactoryAware
  • Appel de setApplicationContext de tous les beans implémentant ApplicationContextAware
  • Pré-initialisation: possibilité d'implémenter une des méthodes de l'interface BeanPostProcessor
  • Appel de afterPropertiesSet de tous les beans implémentant InitializingBean
  • 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'interface DisposableBean
  • 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)

Lien de la référence sur @Bean.