SpringBoot之ApplicationRunner接口和@Order注解

Posted 小破孩楼主

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot之ApplicationRunner接口和@Order注解相关的知识,希望对你有一定的参考价值。

我们在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了ApplicationRunner接口来帮助我们实现这种需求。该接口执行时机为容器启动完成的时候。

ApplicationRunner接口

具体代码如下:

@Component
@Order(1)
public class TestImplApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("这个是测试ApplicationRunner接口1");

    }
}

@Order注解

如果有多个实现类,而你需要他们按一定顺序执行的话,可以在实现类上加上@Order注解。@Order(value=整数值)。SpringBoot会按照@Order中的value值从小到大依次执行。

@Component
@Order(2)
public class TestImplApplicationRunner2 implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("这个是测试ApplicationRunner接口2");

    }
}

在加上@Order注解后,执行顺序会根据数字从小到大执行

以上是关于SpringBoot之ApplicationRunner接口和@Order注解的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot配置属性之其他

SpringBoot配置属性之NOSQL

SpringBoot配置属性之MQ

SpringBoot配置属性之Migration

SpringBoot配置属性之Server

SpringBoot配置属性系列-之DataSource