Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung des Frühlingslebenszyklus

Detaillierte Erläuterung des Frühlingslebenszyklus

coldplay.xixi
coldplay.xixiOriginal
2020-06-23 14:40:596378Durchsuche

Detaillierte Erläuterung des Frühlingslebenszyklus

Detaillierte Erklärung des Frühlingslebenszyklus:

1. @Bean-Initialisierung und -Zerstörung

1.1 Der Lebenszyklus einer Bohne:

Der Prozess der Bohnenerstellung -----Initialisierung -----Zerstörung

1.2 Der Lebenszyklus eines Containers -verwaltete Bean:

 Wir können die Initialisierungs- und Zerstörungsmethoden anpassen: Der Container ruft unsere benutzerdefinierten Initialisierungs- und Zerstörungsmethoden auf, wenn die Bean den aktuellen Lebenszyklus erreicht.

Konstruktor:
Einzelinstanz: Initialisiert, wenn der Container erstellt wird
Mehrfachinstanz: Erstellt bei jedem Abruf ein Objekt

 BeanPostProcessor.postProcessBeforeInitialization
Initialisierung:
 Das Objekt wird erstellt und zugewiesen und die Initialisierungsmethode wird aufgerufen. BeanPostProcessor.postProcessAfterInitialization
Zerstörung:
Einzelinstanz: Wenn der Container geschlossen ist
Mehrere Instanzen: Der Container ruft die Zerstörungsmethode nicht auf.
1 Zerstörungsmethoden
 Init-Methode und Zerstörungsmethode über @Bean angeben;
2. InitializingBean über Bean implementieren (Initialisierungslogik definieren)
3 Spezifikation:
 @ PostConstruct: Nachdem die Bean erstellt und die Attributzuweisung abgeschlossen ist
@PreDestroy: Rufen Sie die Bereinigungsarbeiten auf, bevor der Container zerstört wird und die Bean zerstört wird

Der Code lautet wie folgt :


Die Verwendung von initMethod und 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. Verwendung von InitializingBean und DisposibleBeanc. Verwendung von @PostConstruct und @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. BeanPostProcessor-Postprozessor

BeanPostProcessor【Schnittstelle】:Bean's Postprozessor:

Führen Sie vor und nach der Bean-Initialisierung einige Verarbeitungen durch.

  1. postProcessBeforeInitialization: Funktioniert vor der Initialisierung
  2. postProcessAfterInitialization: Funktioniert nach der Initialisierung
rr   
Empfohlenes Tutorial: „
Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Frühlingslebenszyklus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn