概要
SpringBoot应用会发布一些事件,这些事件可以通过实现了ApplicationListener接口的监听器进行接收处理。
关于事件
不同的事件对应不同的事件类,事件类一般都继承了ApplicationEvent抽象类。
关于监听器
监听器可通过实现ApplicationListener接口定义,ApplicationListener接口有个泛型类型,是监听器要监听的事件对应的类。
下面是一个示例,对ApplicationStartingEvent类对应的事件进行监听,
package hookind.loginapi.common.listener
import org.springframework.boot.context.event.ApplicationStartingEvent
import org.springframework.context.ApplicationListener
class StartEventListener: ApplicationListener<ApplicationStartingEvent> {
override fun onApplicationEvent(event: ApplicationStartingEvent) {
println("==========系统正在启动中=========")
}
}
注册监听器
可在META-INF/spring.factories文件中定义要注册的监听器(需要以org.springframework.context.ApplicationListener作为键),应用在启动时会自动注册。
示例:
org.springframework.context.ApplicationListener=hookind.loginapi.common.listener.StartEventListener