SpringBoot 系列之监听器
在Spring Boot中,可以通过实现ApplicationListener
接口来创建自定义的监听器,监听特定的事件。以下是一个简单的例子,展示了如何创建一个监听器来监听Spring上下文的启动和停止事件。
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
@Component
public class CustomListener implements ApplicationListener<Object> {
@Override
public void onApplicationEvent(Object event) {
if (event instanceof ContextRefreshedEvent) {
// 处理Spring上下文启动完成的事件
System.out.println("Spring context has been refreshed.");
} else if (event instanceof ContextClosedEvent) {
// 处理Spring上下文关闭的事件
System.out.println("Spring context has been closed.");
}
}
}
在这个例子中,CustomListener
类实现了ApplicationListener
接口,并指定了泛型为Object
,这意味着它可以接收任何类型的事件。在onApplicationEvent
方法中,我们检查了事件的类型,如果是ContextRefreshedEvent
,则表示Spring上下文已经启动完成,如果是ContextClosedEvent
,则表示Spring上下文即将关闭。
要注册这个监听器,你只需确保它被Spring管理,即通过将其标注为@Component
,Spring Boot会自动检测并注册它。
当你运行Spring Boot应用程序时,你会在控制台看到启动和停止事件的打印信息。
评论已关闭