Springboot - 自定义事件

文章目录

  • Springboot - 自定义事件
        • 1、自定义一个事件
        • 2、编写监听者
        • 3、编写测试代码

Springboot - 自定义事件


1、自定义一个事件

public class CustomEvent extends ApplicationEvent {


    public CustomEvent(Object source) {
        super(source);
    }
}


2、编写监听者

@Component
public class CustomListener {



    /**
     * 监听支持顺序执行,越小的越早执行
     * 一个事件可以被很多个监听者监听到
     * 监听也可以是异步的,通过异步注解
     */
    @Order(1000)
    @EventListener(CustomEvent.class)
    public void print(CustomEvent event){
        System.out.println("event value : " + event.getSource());
    }

    @Order(1001)
    @EventListener(CustomEvent.class)
    public void aroundPrint(CustomEvent event){
        System.out.println("around - - - - - - - ");
        System.out.println("event value : " + event.getSource());
        System.out.println("around - - - - - - - ");
    }
}

3、编写测试代码

    @Autowired
    private ApplicationEventPublisher eventPublisher;

    @Test
    public void test(){
        eventPublisher.publishEvent(new CustomEvent("hello world"));
    }

执行结果

event value : hello world
around - - - - - - - 
event value : hello world
around - - - - - - - 

你可能感兴趣的:(框架相关,-,SpringBoot体系)