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");
    }
}
相关推荐
ZJY1323 分钟前
3-12:路由和重构
后端·node.js
掘金者阿豪5 分钟前
我用 Codex Rule 模式“驯服AI写代码”:从翻车到稳定上线的完整实践(附企业级规则模板 + 架构图)
后端
鱼人5 分钟前
现代C++启示录:告别裸指针,你的代码里还有很多“C的幽灵”
后端
cylgdzz1116 分钟前
DSP技术架构深度拆解
后端·架构
imuliuliang16 分钟前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
csdn2015_42 分钟前
spring boot 启动的时候将数据库里的分类信息写入redis
数据库·spring boot·redis
霸道流氓气质1 小时前
SpringBoot+LangChain4j+Ollama实现Function Calling工具调用-仿智能客服示例
java·spring boot·后端
Rust研习社1 小时前
深入浅出 Rust 泛型:从入门到实战
开发语言·后端·算法·rust
许彰午1 小时前
源码全开放,没人看——一个框架作者的真实经历
java·后端
YGY顾n凡1 小时前
我开源了一个项目:一句话创造一个AI世界!
前端·后端·aigc