Der Lebenszyklus des Frühlingsbohnens hat zahlreiche Schritte wie z Initialisierung, Laufen und Zerstören. Wir können unsere benutzerdefinierte Aufgabe zwischen diesen Phasen zum Testen/Debuggen oder anderen Versorgungszwecken ausführen.
Zum Beispiel, Wenn wir zu Beginn der Bohne und einige Aufgaben am Ende einige Aufgaben ausführen möchten, können wir dies bei der Bean -Initialisierung oder bevor wir das Bohnenobjekt zerstören. Dies macht die Anwendung auch funktionaler und einfacher zu debuggen.
Zu diesem Zweck bietet der Frühling einige vordefinierte Schnittstellen und Anmerkungen Das macht unsere Aufgabe einfach. Es gibt zwei Möglichkeiten, diese Aufgaben auszuführen:
Zuerst beginnen wir mit den Schnittstellen und untersuchen dann die Anmerkungen.
Schnittstellen für Java Bean Lifecycle
Frühling hat zwei Schnittstellen, Initialisierung Und Einwegbean, Das enthält mehrere Versorgungsmethoden, um die Aufgaben während des Bohnenlebenszyklus auszuführen.
Um die Initialisierungsaufgabe auszuführen, können wir verwenden After -Propertieesset () Methode der Initialisierung Schnittstelle ähnlich für die Reinigungsressourcen. Bevor wir das Bohnenobjekt zerstören, können wir das verwenden zerstören() Methode der Einwegbean Schnittstelle.
Beginnen wir mit laufenden Beispielen.
Implementierung von Lebenszyklusmethoden mit Schnittstellen
In diesem Fall erstellen wir zuerst eine auf Maven basierende Spring-Anwendung und erstellen dann einen Bean-Mitarbeiter. Diese Bean -Klasse implementiert beide Schnittstellen, die wir diskutiert haben. Jetzt müssen wir auch ihre Methoden implementieren.
Der After -Propertieesset () Methode wird verwendet, um die Initialisierungsaufgabe und die durchzuführen zerstören() Methode, um die Aufgabe auszuführen, bevor das Bohnenobjekt zerstört wird. Siehe den Quellcode der Mitarbeiterbeanklasse.
// Mitarbeiter.Java
Dies ist die Hauptklasse, in der wir die Bohne instanziieren und die Methode Getters and Setzers anrufen.
// Springapp.Java
Paket com.LinuxHint;// Springconfig.Java
Packagecom.LinuxHint;// pom.xml
Dies ist die XML -Datei, die den gesamten Abhängigkeitscode für die Anwendung enthält.
Führen Sie das Projekt aus
Nach dem Erstellen des Projekts ist es Zeit, die Anwendung auszuführen, um zu überprüfen, ob alle Dateien gut funktionieren und die Anwendung wie erwartet funktioniert. Diese Anwendung druckt die folgende Ausgabe in das Konsolenfenster:
Ausgang:
Aufgaben initialisieren ..Notiz: Wir haben die Lebenszyklusmethoden nicht bezeichnet, sondern implizit als Feder Container (IOC) bezeichnet.
Implementierung von Lebenszyklusmethoden mit Anmerkungen
Dies ist der moderne Ansatz, bei dem wir die Anmerkungen an der Schnittstellen anwenden. Das bedeutet. Wir müssen nur die Methoden markieren.
Die @Postconstruct -Annotation wird zur Initialisierungszeit aufgerufen.
Notiz: Bevor wir die Anmerkungen verwenden, müssen wir dem POM unseres Projekts die folgende Abhängigkeit hinzufügen.XML -Datei.
Dieses Paket ist im Standard -Spring -Paket nicht vorhanden. Für Java 9 und höhere Versionen legen Sie diese Gläser in die POM.XML -Datei:
Feder bietet keine vordefinische Methode wie im Schnittstellenfall. Wir können keine Methode mit einem Namen erstellen. Wir müssen sie nur mit den Anmerkungen markieren, um anzugeben, wann sie am IOC -Container aufgerufen werden sollen.
Hier erstellen wir die Initwork () -Methode, um die Aufgabe auf anfänglich.
Aktualisieren Sie die Mitarbeiter.Java Datei gemäß dem folgenden Quellcode:
// Mitarbeiter.Java
Führen Sie das Projekt aus
Führen Sie nun die Anwendung erneut aus und überprüfen Sie die Konsole. Der Ausgang sollte ähnlich sein wie der vorherige Ausgang.
Aufgaben initialisieren ..