我们在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了ApplicationRunner接口来帮助我们实现这种需求。该接口执行时机为容器启动完成的时候。
ApplicationRunner接口
我们在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了ApplicationRunner接口来帮助我们实现这种需求。该接口执行时机为容器启动完成的时候。启动之后会调用实现的run(ApplicationArguments args) 方法
@Order注解
如果有多个实现类,而你需要他们按一定顺序执行的话,可以在实现类上加上@Order注解。@Order(value=整数值)。SpringBoot会按照@Order中的value值从小到大依次执行。
在加上@Order注解后,执行顺序会根据数字从小到大执行。
编写代码做测试:
代码段一:
@Component
@Order(2)
public class MyApplicationRunner1 implements ApplicationRunner {
public static final Logger logger = LoggerFactory.getLogger(MyApplicationRunner1.class);
@Override
public void run(ApplicationArguments args) throws Exception {
logger.info("MyApplicationRunner1 >>>");
}
}