Spring 事件对象和事件监听器

Spring 事件对象和事件监听器

介绍

监听用户发布的事件并进行处理

案例

调用

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
// 创建事件对象
MyEvent event = new MyEvent("hello world");
// 向容器发布事件
context.publishEvent(event);

自定义事件对象

这个对象用于发布给 spring 容器,容器就会自动处理这个事件

@Data
@NoArgsConstructor
@AllArgsConstructor
public class MyEvent {
    /**
     * 事件
     */
    private String message;
}

自定义事件监听器

用于监听用户发布的事件并进行处理,监听器需要纳入容器管理,容器会将用户发布的事件对象传入这个方法中进行事件处理
@EventListener 用于标识当前方法为监听方法

@Slf4j
@Component
public class MyEventListener {
    @EventListener
    public void handlerEvent(MyEvent event){
        log.info(event.getMessage());
    }
}