Benutzerdefinierte Ereignisse im Frühling
Es gibt eine Reihe von Schritten, um Ihre eigenen benutzerdefinierten Ereignisse zu schreiben und zu veröffentlichen. Befolgen Sie die Anweisungen in diesem Kapitel, um benutzerdefinierte Frühlingsereignisse zu schreiben, zu veröffentlichen und zu verarbeiten.
Schritte | Beschreibung |
---|---|
1 | Erstellen Sie ein Projekt mit dem Namen SpringExample und erstellen Sie ein Paket com.tutorialspoint unter demsrcOrdner im erstellten Projekt. Alle Klassen werden unter diesem Paket erstellt. |
2 | Fügen Sie die erforderlichen Spring-Bibliotheken mit der Option Externe JARs hinzufügen hinzu, wie im Kapitel Spring Hello World-Beispiel erläutert . |
3 | Erstellen Sie eine Ereignisklasse, CustomEvent, indem Sie sie erweiternApplicationEvent. Diese Klasse muss einen Standardkonstruktor definieren, der den Konstruktor von der ApplicationEvent-Klasse erben soll. |
4 | Sobald Ihre Ereignisklasse definiert ist, können Sie sie von jeder Klasse aus veröffentlichen, beispielsweise EventClassPublisher, der ApplicationEventPublisherAware implementiert . Sie müssen diese Klasse auch in der XML-Konfigurationsdatei als Bean deklarieren, damit der Container die Bean als Ereignisverleger identifizieren kann, da sie die ApplicationEventPublisherAware-Schnittstelle implementiert. |
5 | Ein veröffentlichtes Ereignis kann in einer Klasse behandelt werden, beispielsweise EventClassHandler, der die ApplicationListener- Schnittstelle implementiert und die onApplicationEvent- Methode für das benutzerdefinierte Ereignis implementiert . |
6 | Erstellen Sie die Beans-Konfigurationsdatei Beans.xml untersrcOrdner und eine MainApp- Klasse, die als Spring-Anwendung fungiert. |
7 | Der letzte Schritt besteht darin, den Inhalt aller Java-Dateien und der Bean-Konfigurationsdatei zu erstellen und die Anwendung wie unten erläutert auszuführen. |
Hier ist der Inhalt von CustomEvent.java Datei
package com.tutorialspoint;
import org.springframework.context.ApplicationEvent;
public class CustomEvent extends ApplicationEvent{
public CustomEvent(Object source) {
super(source);
}
public String toString(){
return "My Custom Event";
}
}
Es folgt der Inhalt der CustomEventPublisher.java Datei
package com.tutorialspoint;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
public class CustomEventPublisher implements ApplicationEventPublisherAware {
private ApplicationEventPublisher publisher;
public void setApplicationEventPublisher (ApplicationEventPublisher publisher) {
this.publisher = publisher;
}
public void publish() {
CustomEvent ce = new CustomEvent(this);
publisher.publishEvent(ce);
}
}
Es folgt der Inhalt der CustomEventHandler.java Datei
package com.tutorialspoint;
import org.springframework.context.ApplicationListener;
public class CustomEventHandler implements ApplicationListener<CustomEvent> {
public void onApplicationEvent(CustomEvent event) {
System.out.println(event.toString());
}
}
Es folgt der Inhalt der MainApp.java Datei
package com.tutorialspoint;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ConfigurableApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
CustomEventPublisher cvp =
(CustomEventPublisher) context.getBean("customEventPublisher");
cvp.publish();
cvp.publish();
}
}
Es folgt die Konfigurationsdatei Beans.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id = "customEventHandler" class = "com.tutorialspoint.CustomEventHandler"/>
<bean id = "customEventPublisher" class = "com.tutorialspoint.CustomEventPublisher"/>
</beans>
Nachdem Sie die Quell- und Bean-Konfigurationsdateien erstellt haben, lassen Sie uns die Anwendung ausführen. Wenn mit Ihrer Anwendung alles in Ordnung ist, wird die folgende Meldung gedruckt:
y Custom Event
y Custom Event