Spring Bean-Lebenszyklus erklärt [mit Codierungsbeispiel]

Veröffentlicht: 2020-08-12

Bean ist ein Objekt in einer Anwendung. Eine Bohne wird erstellt, verwendet und schließlich zerstört, wenn ihr Zweck abgelaufen ist. Dies sind die verschiedenen Stadien eines Federlebenszyklus. Der gesamte Spring Bean-Lebenszyklus wird vom Spring IoC-Container (Inversion of Control) überwacht. Deshalb werden diese Bohnen Frühlingsbohnen genannt.

Quelle

Inhaltsverzeichnis

Der Lebenszyklus einer Frühlingsbohne

Quelle

In einem Spring-Bean-Lebenszyklus wird zunächst eine Bean instanziiert. Nach der Instanziierung durchläuft eine Bean eine Reihe von Schritten, bevor sie einsatzbereit ist. Wenn eine Bohne für keine Funktion mehr benötigt wird, wird sie zerstört.

Lesen Sie: Top 18 aufregende Ideen und Themen für Frühlingsprojekte für Anfänger

Der Lebenszyklus von Frühlingsbohnen kann auf folgende Weise kontrolliert werden

  • Instanziierung mit:
  • InitializingBean Callback-Schnittstelle.
  • Benutzerdefinierte init()-Methode aus der Bean-Konfigurationsdatei.
  • Bewusste Schnittstellen für unterschiedliche Aktionen.
  • PostConstruct- und PreDestroy-Anmerkungen.
  • Zerstörung
  • DisposableBean-Callback-Schnittstelle
  • Benutzerdefinierte Destroy()-Methode aus der Bean-Konfigurationsdatei.

Instanziierung einer Bean

Der erste Prozess im Lebenszyklus von Spring Beans ist eine Instanziierung. Die Erstellung einer Bean beruht auf einer JAVA- oder XML-Bean-Konfigurationsdatei. Dies kann auf zwei Arten erfolgen.

Sie sind:

  • Callback-Schnittstelle InitializingBean: Die Instanziierung auf diese Weise erfolgt in einer Methode namens afterPropertiesSet(). Diese Methode ist in org.springframework.beans.factory.InitializingBean interface vorhanden . Im folgenden Programm wird eine Klasse erstellt, die diese Schnittstelle implementiert. Dies ermöglicht die Verwendung der Methode afterPropertiesSet() dieser Schnittstelle in der erstellten Klasse.

Es folgt das Programm, das diesen Instanziierungsprozess darstellt

import org.springframework.beans.factory.InitializingBean;

Die öffentliche Klasse Creatingbean implementiert InitializingBean

{

@Überschreiben

public void afterPropertiesSet() löst eine Ausnahme aus

{

// Bean wird initialisiert

}

}

  • Benutzerdefinierte Instanziierungsmethode in der Bean-Konfigurationsdatei: Bei diesem Prozess wird eine XML-basierte Konfigurationsdatei verwendet. Init-Methode dieser Datei wird verwendet, um die Instanziierungsmethode speziell zu benennen. Diese Methode wird in der Klasse zur Bean-Instanziierung verwendet. Die lokale Definition einer einzelnen Bean wird unten gezeigt. Auf diese Weise können wir eine einzelne Bean erstellen.

beans.xml:

<Bohnen>

<bean id=“creatingbean“ class=“com.workinginjava.work.Creatingbean“

init-method="createInit" ></bean>

</bohnen>

Sehen Sie sich an: Die 7 spannendsten Spring-Boot-Projekte und -Themen für Anfänger

Das folgende Programm zeigt diesen Instanziierungsprozess durch Laden von beans.xml

Paket com.workinginjava.work;

öffentliche Klasse Creatingbean

{

public void createInit()

//Benutzerdefinierte erstellte Init-Methode wird zur Instanziierung einer Bean verwendet

}

Bewusste Schnittstellen: Die Spring Framework-Infrastruktur bietet mehrere bewusste Schnittstellen. Diese Schnittstellen prägen einem erstellten Bean ein bestimmtes charakteristisches Verhalten ein.

Zu den wichtigen Aware-Schnittstellen gehören:

  • BeanFactoryAware: setBeanFactory() gewährt Zugriff auf die Bean-Factory, die das Objekt erstellt hat.
  • BeanNameAware: Die setBeanName()-Methode unter der BeanNameAware-Schnittstelle stellt den Namen der Bean bereit.
  • ApplicationContextAware: Die Methode setApplicationContext() unter dieser spezifischen Schnittstelle stellt den ApplicationContext der Bean bereit.

PostConstruct- und PreDestroy-Annotationen: PostConstruct ist eine kommentierte Methode. Es wird nach der Bean-Konstruktion und vor der Anforderung eines Objekts aufgerufen. PreDestroy ist auch eine kommentierte Methode. Es wird kurz vor der Zerstörung einer Bohne genannt.

Das folgende Programm zeigt die Verwendung von Anmerkungen

javax.annotation.PostConstruct importieren;

javax.annotation.PreDestroy importieren;

öffentliche Klasse BeanWork

{

@PostConstruct

public void createInit()

{

//Initiierung von Bean(PostConstruct)

}

@PreDestroy

public void createDestroy()

{

//Zerstörung der Bohne(PreDestroy)

}

}

createInit() und createDestroy() sind benutzerdefinierte Initiierungs- und Zerstörungsmethoden einer Bean. Dies erfolgt mithilfe der XML-Bean-Konfigurationsdatei.

Zerstörung einer Bohne

Der letzte Prozess im Lebenszyklus der Frühlingsbohne ist der Zerstörungsprozess. Es ist der Vorgang des Entfernens einer Bohne. Das Entfernen einer Bean hängt von der JAVA- oder XML-Bean-Konfigurationsdatei ab.

Dies kann auf zwei Arten erfolgen

  • DisposableBean-Callback-Schnittstelle: Die Entsorgung erfolgt in einer Methode namens Destroy(). Diese Methode ist in org.springframework.beans.factory.DisposableBean interface vorhanden . Im folgenden Programm wird eine Klasse erstellt, die diese Schnittstelle implementiert. Dies ermöglicht die Verwendung der Destroy()-Methode dieser Schnittstelle in der erstellten Klasse .

Es folgt das Programm, das diesen Instanziierungsprozess darstellt

import org.springframework.beans.factory.DisposableBean;

Die öffentliche Klasse Destroyingbean implementiert DisposableBean

{

@Überschreiben

public void destroy() löst eine Ausnahme aus

{

// Bean wird zerstört

}

}

  • Benutzerdefinierte Methode der Zerstörung in der Bean-Konfigurationsdatei: Hier wird eine XML-basierte Konfigurationsdatei verwendet. Die Destroy-Methode dieser Datei wird verwendet, um die Vernichtungsmethode konkret zu benennen. Diese Methode wird dann in der Klasse zur Zerstörung der Bean verwendet. Die lokale Definition einer einzelnen Bohne und die Schritte zu ihrer Zerstörung sind unten dargestellt.

Bohnen . XML:

<Bohnen>

<bean id=“destroyingbean“ class=“com.workinginjava.work.Destroyingbean“

Destroy-Method="createDestroy" ></bean>

</bohnen>

Das folgende Programm zeigt diesen Zerstörungsprozess durch Laden der beans.xml:

Paket com.workinginjava.work;

öffentliche Klasse Destroyingbean

{

public void createDestroy()

//Benutzerdefinierte Zerstörungsmethode wird für die Zerstörung einer Bean verwendet

}

Frühlingsbohnen werden für einen bestimmten Zweck hergestellt. Jede Bohne durchläuft also einen bestimmten Frühlingslebenszyklus. Es gibt zwei Möglichkeiten, den Lebenszyklus der Frühlingsbohne zu beginnen und zu beenden. Wenn InitializingBean- und DisposableBean-Schnittstellen verwendet werden, wird der Code an Spring gebunden. Eine bessere Möglichkeit besteht darin, die Init-Methode und die Destroy-Methode in der Bean-Konfigurationsdatei zu identifizieren.

Lesen Sie auch: Frühlingsgehalt für Entwickler in Indien: Für Studienanfänger und Erfahrene

Lernen Sie Softwareentwicklung online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Einpacken

Diese Punkte zum Lebenszyklus der Frühlingsbohne könnten einige Fragen beantworten. Trotzdem heben sie neue für Sie hervor – Was sind die Ressourcen für einen aufstrebenden Full-Stack-Entwickler und die Verwendung des Spring-Frameworks? Welche Möglichkeiten gibt es in diesem Bereich? Und vor allem, wie kann man in diesem Bereich Karriere machen?

Wenn Sie mehr über Full-Stack-Entwicklung erfahren möchten, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und Aufgaben bietet , IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Landen Sie in Ihrem Traumjob

UPGRAD UND IIIT-BANGALORES PG-DIPLOM IN SOFTWAREENTWICKLUNG
Erfahren Sie mehr