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");
    }
}
相关推荐
吾诺21 分钟前
2026大直径紧固件双叠自锁垫圈怎么选型
后端
tyung31 分钟前
zhenyi-base zqueue 基准测试分享
后端·go
time展天135 分钟前
Dddify:给 ASP.NET Core 项目一套轻量、清晰、可落地的 DDD 基础设施
数据库·后端·asp.net
SamDeepThinking38 分钟前
为什么我会主动给一个年轻程序员加薪、晋升?
java·后端·程序员
tonydf40 分钟前
接入服务商模式的支付宝支付
后端·支付宝
八苦1 小时前
MCP 企业托管授权(Enterprise-Managed Authorization)
后端
宠友信息1 小时前
MySQL 租户数据隔离在即时通讯源码后端中的落地方式
java·数据库·spring boot·redis·websocket·mysql
用户938515635071 小时前
Node.js 路径与文件系统:从基础到异步进化之路
javascript·后端·面试
一tiao咸鱼1 小时前
前端转 agent # 03 - Pydantic v2 数据校验深入
前端·后端
一路向北North2 小时前
Spring Security OAuth2.0(18):资源服务测试
java·后端·spring