spring项目启动后进行初始化操作的方式

常用的两种,实现ApplicationRunner接口后重写run方法,实现ApplicationListener接口后监听对应的事件

  1. ApplicationRunner接口

所属机制为Spring Boot 启动回调接口,在run方法里写业务逻辑实现初始化操作,如数据加载、检查,用此方法,抛出异常后会启动失败,run方法执行时Web 服务器可能还未完全启动

  1. ApplicationListener接口

所属机制为Spring 事件驱动模型,基于 ApplicationEvent实现,和ApplicationRunner接口一样可以实现初始化操作,但是可以根据监听的ApplicationEvent事件来实现在runner之前或之后加载

在最新的springboot版本上,推荐使用@EventListenner注解来代替实现ApplicationListener接口,能实现相同的作用且支持更加丰富的功能

 

 

区分两者的区别并合理使用有助于springboot应用启动逻辑更健壮

ApplicationEvent有比较丰富的子类,ApplicationReadyEvent、RequestHandledEvent、ContextRefreshedEvent等,还可以实现自定义event事件

posted @ 2026-02-05 10:47  leviH  阅读(3)  评论(0)    收藏  举报