SpringBoot启动后自动开启某一服务方法

一、功能说明

使用SpringBoot框架开发的项目,通常情况启动类以及主方法main函数如下:

@SpringBootApplication
public class SpringBootSzydemoQuartzApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootSzydemoQuartzApplication.class, args);
    }
}

有时我们需要在启动项目的同时,还要去启动某一个服务或者是线程。能实现此功能需求的方法不止一种,本文介绍的只是我测试验证过并且使用的,使用也是非常简单。

二、使用说明

在项目中,创建了一个listener包,并且创建了一个类ApplicationStartQuartzJobListener,如下图所示:

类实现如下:

@Component
public class ApplicationStartQuartzJobListener implements ApplicationListener<ContextRefreshedEvent> {

    /**
     * 初始启动quartz
     */
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        try {
            //具体要做的事情
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
    }
}
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容