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");
    }
}
相关推荐
Micro麦可乐11 分钟前
最新Spring Security实战教程(十)权限表达式进阶 - 在SpEL在安全控制中的高阶魔法
java·spring boot·后端·spring·spring security·spel表达式
Wonderful U15 分钟前
基于Python+Django的文件预览与转换系统:从架构设计到完整实现
后端·python·django
忧郁的蛋~16 分钟前
ASP.NET Core Web API 完全指南:请求管道、认证、错误处理到生产部署
前端·后端·asp.net·.net
Jinkxs16 分钟前
Resilience4j- 非 Spring 环境集成:纯 Java 项目中的手动配置实现
java·后端·spring
拾光师23 分钟前
Python 列表(List)与元组(Tuple)详解
后端
右耳朵猫AI25 分钟前
Java/JVM周刊2026W21 | Java 26发布、JDK 27抢先体验、Spring Boot 4.1预告、GlassFish 8.0.2发布
java·jvm·spring boot
copyer_xyf27 分钟前
Python 类全面总结
前端·后端·python
copyer_xyf31 分钟前
Python 类型注解:从 TypeScript 迁移理解
前端·后端·python
IT_陈寒32 分钟前
React开发实战:从入门到精通
前端·人工智能·后端
西安邮电大学35 分钟前
分布式锁三种实现
java·redis·后端·其他·面试