在春季的多个事件上使用@EventListener注释
这似乎是一个非常直接的问题,但我似乎无法在任何地方找到答案。
在Spring中,我可以使用@EventListener注释为事件创建一个侦听器,如下所示:
@Component
public class MyListener {
@EventListener
public void handleEvent(ContextRefreshedEvent event) {
...
}
}
但是,如果我需要相同的方法来侦听多个事件并根据发生的事件以不同的方式执行操作,该怎么办?
直觉上,我在想类似这样的事情:
@Component
public class MyListener {
@EventListener
public void handleEvents(ContextRefreshedEvent event, ContextStopped event) {
String event;
if(event instanceof ContextRefreshedEvent)
event = "Refreshed";
if(event instanceof ContextStoppedEvent)
event = "Stopped";
}
}
EventListener 批注侦听多个事件的正确方法是什么,同一方法如何根据发生的实际事件进行区分?