Maison  >  Article  >  Java  >  Explication détaillée du cycle de vie du printemps

Explication détaillée du cycle de vie du printemps

coldplay.xixi
coldplay.xixioriginal
2020-06-23 14:40:596357parcourir

Explication détaillée du cycle de vie du printemps

Explication détaillée du cycle de vie du printemps :

1. Initialisation et destruction du @Bean

1.1 Le cycle de vie d'un bean :

Le processus de création du bean-----initialisation-----destruction

1.2 Le cycle de vie d'un conteneur -haricot géré :

 Nous pouvons personnaliser les méthodes d'initialisation et de destruction : le conteneur appelle nos méthodes d'initialisation et de destruction personnalisées lorsque le bean atteint le cycle de vie actuel.

Constructeur :
Instance unique : Initialisé à la création du conteneur
Multi-instance : Créer un objet à chaque fois qu'il est récupéré

 BeanPostProcessor.postProcessBeforeInitialization
Initialisation :
 L'objet est créé et attribué, et la méthode d'initialisation est appelée. BeanPostProcessor.postProcessAfterInitialization
Destruction :
instance unique : lorsque le conteneur est fermé
plusieurs instances : le conteneur ne gérera pas ce bean ; le conteneur n'appellera pas la méthode de destruction
1. méthodes de destruction
 Spécifiez la méthode d'initialisation et la méthode de destruction via @Bean ;
2 Implémentez InitializingBean via Bean (définir la logique d'initialisation)
 DisposableBean (définir la logique de destruction)
3. spécification :
 @ PostConstruct : Une fois le bean créé et l'attribution des attributs terminée
@PreDestroy : Le travail de nettoyage est appelé avant la destruction du conteneur et du bean

Le code est le suivant suit :
a. L'utilisation de initMethod et destroyMethod
MainConfig.java

@Configuration@ComponentScan("com.zero.life")public class MainConfig 
{//    @Scope("prototype")    @Bean(initMethod = "init",destroyMethod = "destroy")    
public  Phone phone(){        
return new Phone();    }}
Phone.java
public class Phone {    public Phone() {        
System.out.println("Phone初始化构造。。。");    }  
  public void init(){        
  System.out.println("Phone 初始化方法。。。。");    }    
  public void destroy(){       
   System.out.println("Phone 销毁方法。。。");    }}

b. 🎜>c. Utilisation du post-processeur @PostConstruct et @PreDestroy

@Componentpublic class Android implements InitializingBean,DisposableBean {
    public Android() {
        System.out.println("android constructor.......");
    }
    @Override
    public void destroy() throws Exception {
        System.out.println("android destroy........");
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("android afterPropertiesSet........");
    }}
2. Post-processeur du Bean :

Effectuez certains traitements avant et après l'initialisation du bean .

  1. postProcessBeforeInitialization : fonctionne avant l'initialisation   2. postProcessAfterInitialization : fonctionne après l'initialisation rr   

Tutoriel recommandé : "

tutoriel vidéo Java
"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn