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");
    }
}
相关推荐
JS菌2 分钟前
Skills 动态加载系统:让 AI Agent 按需获取领域知识
前端·人工智能·后端
神奇小汤圆15 分钟前
Vector Graph RAG 开源!一套向量数据库同时搞定语义检索+RAG多跳
后端
小高学习java16 分钟前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
copyer_xyf29 分钟前
Agent Tool 调用
后端·python·agent
十九画生33 分钟前
Ajax 入门:用 XHR 理解前后端异步请求
前端·javascript·后端
Java编程爱好者33 分钟前
Java 8老系统SQL Agent实战:AI生成候选SQL,安全引擎拦截后再执行
后端
copyer_xyf38 分钟前
Agent 结构化输出
后端·python·agent
ping某41 分钟前
为什么我背了很多年 TCP 三次握手,还是总觉得差一点?
后端
一个做软件开发的牛马1 小时前
Spring Boot 自动配置原理揭秘:从 @SpringBootApplication 到手写自定义 Starter
java·后端
周杰伦fans1 小时前
续集:工作空间一切换,我的插件菜单就消失?——MenuBar与Ribbon的自动重载方案
后端·ribbon·c#