当前位置: 首页 > news >正文

Spring boot 中 CommandLineRunner 在服务启动完成后自定义执行

转载请注明出处:

  以下是 Spring boot中 CommandLineRunner 的定义:

package org.springframework.boot;@FunctionalInterface
public interface CommandLineRunner {void run(String... args) throws Exception;
}

  CommandLineRunner 是 Spring Boot 提供的一个重要接口,用于在应用程序启动完成后执行特定逻辑。 

关键特性:

  • @FunctionalInterface:标记为函数式接口,支持 Lambda 表达式
  • run(String... args):核心方法,在Spring Boot应用启动完成后执行
  • args参数:接收命令行参数
  • throws Exception:允许抛出异常

使用场景

  • 应用启动后初始化数据
  • 执行一次性任务
  • 启动后台服务
  • 验证配置信息

1. 基础实现方式

@Component
public class StartupRunner implements CommandLineRunner {@Overridepublic void run(String... args) throws Exception {System.out.println("Application started with command-line arguments: " + Arrays.toString(args));// 处理命令行参数for (int i = 0; i < args.length; ++i) {System.out.println("arg[" + i + "]: " + args[i]);}}
}

2. 多个CommandLineRunner执行顺序

@Component
@Order(1)
public class FirstRunner implements CommandLineRunner {@Overridepublic void run(String... args) throws Exception {System.out.println("First runner executed");}
}@Component
@Order(2)
public class SecondRunner implements CommandLineRunner {@Overridepublic void run(String... args) throws Exception {System.out.println("Second runner executed");}
}

3.执行时机

CommandLineRunner 的 run() 方法在以下阶段执行:

  • Spring Boot应用完全启动
  • SpringApplication.run() 方法完成
  • Web服务器已启动并监听端口(如果是Web应用)
  • 所有 @PostConstruct 方法执行完毕
  • 在 ApplicationReadyEvent 发布之前

 

 

http://www.jsqmd.com/news/64239/

相关文章:

  • 文件摆渡系统哪个好:提升企业文件交换安全性的首选方案
  • 2025年越野轮胎推荐:专业越野胎权威测评
  • 115.娇三“独处-再思考”
  • 2025最新发布!耐磨的轮胎推荐:五大高耐磨胎精选报告
  • 2025年权威发布!防爆胎更换推荐:权威防爆胎更换TOP指南
  • 从经验驱动到模型驱动:企业数字化的机理、难题与价值重构
  • 新型网闸使用场景:安全隔离与高效交换的双重突破
  • 2025年客制化键盘王者:狼蛛双雄领衔,五强争霸颠覆市场格局
  • WPF CommunityToolkit.Mvvm学习-一ObservableProperty 属性
  • 路由注入
  • P2542 [AHOI2005] 航线规划の题解
  • 实用指南:C++幻象:内存序、可见性与指令重排
  • 详细介绍:二手车销售|汽车销售|基于SprinBoot+vue的二手车交易系统(源码+数据库+文档)
  • host
  • 可视化图解算法72:斐波那契数列
  • 可视化图解算法72:斐波那契数列
  • 高中学习机挑选三步法:锁定这三大维度,快速找到你的“学霸机”
  • 高中学习机挑选三步法:锁定这三大维度,快速找到你的“学霸机”
  • 实验三
  • 实验五
  • 2025年12月新能源汽车轮胎推荐:最新电车胎精选指南
  • 2025年美国投行求职机构哪家高效不爆雷:助学员成本降60%offer量产
  • Go 语言(Golang):核心特性、生态优势与实战应用全解析
  • 详细介绍:《Windows 服务器 WinSCP 保姆级配置指南:从 0 到 1 实现 “无痛” 远程文件管理》
  • 多项式学习笔记
  • Kubernetes(K8s):核心概念、架构与实战应用全解析
  • 从零到实战:Go 语言高效学习路线
  • 每个人都在追寻远方,那远方的人是否也有自己的远方呢?
  • 2025年12月美国投行求职机构哪家好:数据揭晓98%靠谱专业的机构
  • 2025年12月安全的轮胎推荐:专业安全胎权威指南