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
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........"); }}
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!