Spring事件之注解@EventListener讲解
@EventListener
注解是Spring框架中的一个注解,它用于声明一个方法为事件监听器方法。当一个特定的事件被发布到应用程序上下文时,这个方法会被自动调用。
使用@EventListener
注解的要求是,该方法所在的类必须被@Component
注解标记,或者该类必须被Spring容器管理。
下面是一个使用@EventListener
注解的简单示例:
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
@Component
public class MyEventListener {
@EventListener
public void handleContextRefresh(ContextRefreshedEvent event) {
// 当ApplicationContext被初始化或刷新时,这个方法会被调用
System.out.println("Spring Application Context has been refreshed");
}
@EventListener
public void handleMyCustomEvent(MyCustomEvent event) {
// 当发布MyCustomEvent事件时,这个方法会被调用
System.out.println("MyCustomEvent received: " + event.getData());
}
}
在这个例子中,handleContextRefresh
方法会在ContextRefreshedEvent
事件发生时被调用,而handleMyCustomEvent
方法会在MyCustomEvent
事件发生时被调用。这里假设MyCustomEvent
是一个继承自ApplicationEvent
的自定义事件类。
@EventListener
注解还支持使用条件和重载方法,可以根据事件的不同类型进行区分。
评论已关闭