SpringBoot加载应用事件监听器

SpringBoot加载应用事件监听器

利用 Spring 工厂加载机制,实例化 ApplicationListener 实现类,并排序对象集合

创建应用事件监听器

  • 创建类实现接口ApplicationListener,可以使用@Order或实现Orderd接口进行排序
@Order(Ordered.HIGHEST_PRECEDENCE)
public class HelloWorldApplicationListener implements ApplicationListener<ContextRefreshedEvent> {
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        System.out.println("HelloWorld : " + event.getApplicationContext().getId()
                + " , timestamp : " + event.getTimestamp());
    }
}
public class AfterHelloWorldApplicationListener implements ApplicationListener<ContextRefreshedEvent>,Ordered {
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        System.out.println("AfterHelloWorld : " + event.getApplicationContext().getId()
                + " , timestamp : " + event.getTimestamp());
    }
    @Override
    public int getOrder() {
        return Ordered.LOWEST_PRECEDENCE;
    }
}
  • 在spring.properties中配置
# ApplicationListener
org.springframework.context.ApplicationListener=\
com.imooc.diveinspringboot.listener.AfterHelloWorldApplicationListener,\
com.imooc.diveinspringboot.listener.HelloWorldApplicationListener,\
  • 输出

HelloWorld : application , timestamp : 1591105193644
AfterHelloWorld : application , timestamp : 1591105193644

posted @ 2020-06-03 10:26  樊梨花大大王  阅读(332)  评论(0)    收藏  举报