springboot启动时执行部分代码CommandLineRunner

落日映苍穹つ 2023-06-29 07:28 88阅读 0赞

在使用SpringBoot构建项目时,我们通常有一些预先数据的加载。那么SpringBoot提供了一个简单的方式来实现–CommandLineRunner。

CommandLineRunner是一个接口,我们需要时,只需实现该接口就行。如果存在多个加载的数据,我们也可以使用@Order注解来排序。
案例:
分别定义了一个数据加载类MyStartupRunner1,排序为2;以及另一个数据加载类MyStartupRunner2,排序为1。

  1. @Component
  2. @Order(value = 2)
  3. public class MyStartupRunner1 implements CommandLineRunner{
  4. @Override
  5. public void run(String... strings) throws Exception {
  6. System.out.println(">>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作 MyStartupRunner1 order 2 <<<<<<<<<<<<<");
  7. }
  8. }
  9. @Component
  10. @Order(value = 1)
  11. public class MyStartupRunner2 implements CommandLineRunner {
  12. @Override
  13. public void run(String... strings) throws Exception {
  14. System.out.println(">>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作 MyStartupRunner2 order 1 <<<<<<<<<<<<<");
  15. }
  16. }

运行结果输出:
这里写图片描述
在这里插入图片描述
我们可以看出,数据加载的顺序与Order排序有关!

完!

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读