ApplicationEvent est une classe abstraite. Sa relation d'héritage est développée sur l'idée comme le montre la figure :
#🎜. 🎜##🎜🎜 #On constate que les types d'événements définis par SpringBoot sont extrêmement riches.
2. Listener ApplicationListener
@FunctionalInterface public interface ApplicationListener<E extends ApplicationEvent> extends EventListener { /** * Handle an application event. * @param event the event to respond to */ void onApplicationEvent(E event); }
On voit que dans le code il accepte un événement générique mentionné ci-dessus, qui représente l'événement qui préoccupe cet auditeur
Il y a aussi une implémentation d'écoute ; La méthode d'écoute consiste à implémenter l'interface SmartApplicationListener. SmartApplicationListener hérite de l'interface ApplicationListener de cette manière, vous pouvez enregistrer plusieurs événements intéressants en même temps. Il vous suffit d'implémenter la méthode supportsEventType de l'interface.
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'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; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!