SpringBoot项目启动时的初始化操作

SpringBoot项目启动时的初始化操作包括:

类的静态代码、类的构造函数、@Autowired装载变量、@PostConstruct修饰方法、实现ApplicationRunner接口、实现CommandLineRunner接口,其执行的先后次序为:

static > constructer > @Autowired > @PostConstruct > ApplicationRunner > CommandLineRunner

这里主要介绍实现ApplicationRunner接口、CommandLineRunner接口的方式进行初始化操作

实现 ApplicationRunner 接口

java 复制代码
@Component
@Order(1) /// 多个类实现该接口的优先级
public class MyApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("order1:MyApplicationRunner");
 
    }
}

实现 CommandLineRunner 接口

java 复制代码
@Component
@Order(2)  /// 多个类实现该接口的优先级
public class MyCommandLineRunner implements CommandLineRunner {
    @Override
    public void run(String... strings) throws Exception {
        System.out.println("order2:MyCommandLineRunner");
    }
}
相关推荐
李广坤几秒前
Spring Boot Validation 使用手册
后端
柒.梧.15 分钟前
吃透Spring Bean:生命周期、单例特性、作用域及扩展方式
java·后端·spring
嘻哈baby28 分钟前
接口幂等性设计与实战:支付、下单、重试场景怎么搞?
后端
舒一笑30 分钟前
IDEA 调试技巧:关联本地源码,告别反编译代码
后端
UrbanJazzerati37 分钟前
PostgreSQL 完全实战指南:从小白到高手 DDL篇
后端·面试
UrbanJazzerati38 分钟前
Python实现Salesforce Bulk API 2.0批量数据导入:从Excel到云端的高效方案
后端·面试
豆苗学前端44 分钟前
彻底讲透医院移动端手持设备PDA离线同步架构:从"记账本"到"分布式共识",吊打面试官
前端·javascript·后端
用户2986985301444 分钟前
C#中如何创建目录(TOC):使用Spire.Doc for .NET实现Word TOC自动化
后端·c#·.net
大鹏19881 小时前
警惕 Python 的"甜蜜陷阱":Pickle 反序列化漏洞深度剖析
后端
鱼人1 小时前
PHP 入门指南:从零基础到掌握核心语法
后端