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");
    }
}
相关推荐
元Y亨H7 分钟前
Spring Cloud 微服务整合 Vue 前端:架构设计与核心原理
后端·spring cloud
旷世奇才李先生18 分钟前
065智慧农业专家远程指导系统-springboot+vue
java·vue.js·spring boot
盐水冰19 分钟前
【烘焙坊项目】后端搭建(10) - 地址簿功能&用户下单&微信支付
java·数据库·后端
zone773942 分钟前
007:RAG 入门-向量嵌入与检索
后端·面试·agent
zuoerjinshu1 小时前
【SpringBoot】讲清楚日志文件&&lombok
java·spring boot·后端
哈密瓜的眉毛美1 小时前
零基础学Java|第九篇:面向对象编程的类与对象(进阶)
后端
咚为1 小时前
Rust 跨平台编译实战:从手动配置到 Cross 容器化
开发语言·后端·rust
秦艽1 小时前
openclaw使用Claude Code 实现 10 倍效率提升&Token 消耗减少了 50%
后端
L0CK1 小时前
实战篇 10. 好友关注 - 实现 Feed 流滚动分页查询学习文档
后端
用户272017999751 小时前
Skill和MCP到底有什么区别?它们越多,效率就越高吗?
后端