Spring Boot-启动时加载数据CommandLineRunner

版权声明:本人原创,转载需说明文章出处     https://blog.csdn.net/persistencegoing/article/details/88788306

https://blog.csdn.net/persistencegoing/article/details/84376427

实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。

创建一个类实现CommandLineRunner接口,将要实现功能的代码放在实现的run方法中:

@Component
public class MyStartupRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println(">>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作<<<<<<<<<<<<<");
    }
}
Spring Boot应用程序在启动后,会遍历CommandLineRunner接口的实例并运行它们的run方法:

如果有多个CommandLineRunner实体类并需要按照一定的顺序去执行,那么就需要在实体类上使用一个@Order注解(或者实现Order接口)来表明顺序:

@Component
@Order(1)
public class MyStartupRunner1 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println(">>>>>>>>>>>>>>>服务启动执行 1111 <<<<<<<<<<<<<");
 
    }
}
@Component
@Order(2)
public class MyStartupRunner2 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println(">>>>>>>>>>>>>>>服务启动执行 2222 <<<<<<<<<<<<<");
 
    }
}
运行程序,查看执行顺序:


 

希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职     

群号:721 515 304

猜你喜欢

转载自blog.csdn.net/persistencegoing/article/details/88788306