Heim > Java > javaLernprogramm > Beispielanalyse des SpringBoot-Listener-Musters

Beispielanalyse des SpringBoot-Listener-Musters

王林
Freigeben: 2023-05-12 21:40:18
nach vorne
1107 Leute haben es durchsucht

1. Event ApplicationEvent

ApplicationEvent ist eine abstrakte Klasse, die auf der in der Abbildung gezeigten Idee basiert:

Beispielanalyse des SpringBoot-Listener-Musters#🎜 🎜##🎜🎜 #Es ist ersichtlich, dass die von SpringBoot definierten Ereignistypen äußerst umfangreich sind.

2. Listener ApplicationListener##

ApplicationListener ist eine Schnittstelle, indem wir diese Schnittstelle auf ähnliche Weise wie den Ereignisinitialisierer implementieren.

@FunctionalInterface
public interface ApplicationListener<E extends ApplicationEvent> extends EventListener {
	/**
	 * Handle an application event.
	 * @param event the event to respond to
	 */
	void onApplicationEvent(E event);
}
Nach dem Login kopieren

Wir können sehen, dass im Code ein oben erwähntes generisches Ereignis akzeptiert wird, das das Ereignis darstellt, um das sich dieser Listener kümmert;

Es gibt auch eine Implementierung des Zuhörens Die Methode des Listeners besteht darin, die Schnittstelle „SmartApplicationListener“ zu implementieren. Durch die Implementierung des Listeners auf diese Weise können Sie nur die Methode „supportsEventType“ der Schnittstelle implementieren.

public interface SmartApplicationListener extends ApplicationListener<ApplicationEvent>, Ordered {
	/**
	 * Determine whether this listener actually supports the given event type.
	 * @param eventType the event type (never {@code null})
	 */
	boolean supportsEventType(Class<? extends ApplicationEvent> eventType);
	/**
	 * Determine whether this listener actually supports the given source type.
	 * <p>The default implementation always returns {@code true}.
	 * @param sourceType the source type, or {@code null} if no source
	 */
	default boolean supportsSourceType(@Nullable Class<?> sourceType) {
		return true;
	}
	/**
	 * Determine this listener&#39;s order in a set of listeners for the same event.
	 * <p>The default implementation returns {@link #LOWEST_PRECEDENCE}.
	 */
	@Override
	default int getOrder() {
		return LOWEST_PRECEDENCE;
	}
}
Nach dem Login kopieren
#🎜 🎜#3. Event Broadcaster ApplicationEventMulticaster

ApplicationEventMulticaster ist eine Schnittstelle, die Methoden wie das Hinzufügen von Listenern, das Löschen von Listenern und die Weitergabe von Ereignissen definiert; implementiert SimpleApplicationEventMulticaster für uns. Die Vererbungsbeziehung dieses Event-Broadcasters ist wie in der Abbildung dargestellt:

Das obige ist der detaillierte Inhalt vonBeispielanalyse des SpringBoot-Listener-Musters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage