SpringBoot:SpringBoot项目启动后立即执行函数的两种方式

前言

有时启动SpringBoot项目后需要自运行函数来满足一些项目需求,下面介绍三种方式以此实现。

一、定义实体类实现ApplicationRunner接口

@Component
public class Demo implements ApplicationRunner{
         
       @Override
       public void run(ApplicationArguments args) throws Exception{
            Systom.out.println("测试");
       }
}

二、定义实体类实现CommandLineRunner接口

@Component
public class Demo implements CommandLineRunner{
         
       @Override
       public void run(String... args) throws Exception{
            Systom.out.println("测试");
       }
}

底层实现逻辑

SpringApplication的run方法执行时会运行afterRefresh方法

 

 afterRefresh方法内部会执行callRunners方法

 

 callRunners会检索实现 ApplicationRunner、CommandLineRunner 接口的类,并调用重写方法。

 

 

posted @ 2022-02-21 11:17  怒吼的萝卜  阅读(848)  评论(0编辑  收藏  举报