SpringBoot(十四):CommandLineRunner-初始化资源

本文介绍了SpringBoot中使用CommandLineRunner接口初始化资源的方法。该接口在所有Spring Beans初始化后,SpringApplication run之前执行,适合用于项目启动时加载线程池、证书等资源。文章通过创建多个实现类并利用@Order注解调整执行顺序,展示了CommandLineRunner的执行时机和顺序。
摘要由CSDN通过智能技术生成

版权声明

单纯的广告

个人博客:https://aodeng.cc
微信公众号:低调小熊猫
QQ群:756796932

简介

CommandLineRunner接口的Component会在spring bean初始化之后,SpringApplication run之前执行,可以控制在项目启动前初始化资源文件,比如初始化线程池,提前加载好加密证书等

实现接口(CommandLineRunner)
@order表示加载顺序,-1,1,2,按照最小先执行的规则
Run类

@Component
@Order(-1)
public class Run implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("Run");
    }
}

我们多创建几个类实现接口
Run2类

@Component
public class Run2 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("Run2");
    }
}

Run3类

@Component
@Order(1)
public class Run3 implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        System.out.println("Run3");
    }
}

启动程序

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        System.out.println("----------start--------");
        SpringApplication.run(Application.class,args);
        System.out.println("----------end--------");
    }
}

运行效果
(输出在start和end之间,说明CommandLineRunner 的执行时机,是在所有 Spring Beans 都初始化之后,SpringApplication.run() 之前执行,Run,Run3,Run2执行的顺序也是我们@order注解的顺序了)

----------start--------
Run
Run3
Run2
----------end--------

就是学习习惯做笔记了,这样印象深刻点,不论你在哪里看到我的文章,对你有帮助就好。下面是我放在
Github的源码:https://github.com/java-aodeng/hope

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值