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");
    }
}
相关推荐
魔兽大山哥1 小时前
提示词注入很热闹:NL2SQL 里它打得穿 Prompt,打不穿执行层
后端
智能架构人生1 小时前
Java开发者技能如何迁移到Kotlin
后端
程序员老赵1 小时前
Docker 部署禅道 ZenTao:轻松搭建研发项目管理平台
前端·后端·github
字节跳动数据库1 小时前
火山 PostgreSQL Serverless × 飞书妙搭:把 AI 装进数据库,一句话唤醒数据智能
数据库·人工智能·后端
倾颜1 小时前
# Node.js Event Loop 到底是怎么工作的?从一段异步代码讲清事件循环
后端
Scene2161 小时前
旧 REST 接口封装成 MCP 服务:完整实战指南
人工智能·后端
Zane19941 小时前
daemon 线程说没就没?一文讲透 threading 的适用场景与线程安全
后端·python
凤山老林1 小时前
从 RestTemplate 到 HttpClient 5:Spring Boot HTTP 客户端性能调优与连接池治理
spring boot·后端·http
Csvn1 小时前
📊 SQL 入门 Day 20:锁机制
后端·sql
晚染烟2 小时前
每日八股day27
spring boot