Runner启动器的两种创建方式:

  • 实现ApplicationRunner接口,复写run()方法
  • 实现CommandLineRunner接口,复写run()方法

Runner启动器的执行顺序

  如果一个项目中包含多个启动器,可以让启动器类实现 org.springframework.core.Ordered接口或者使用 org.springframework.core.annotation.Order注解类来注解启动器类。项目启动时会按照指定的order升序执行。

Runner启动器的创建示例

示例一:实现ApplicationRunner接口

package com.huang.pims.demo.runners;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; @Component
@Order(value = 1)
public class ApplicationRunnerDemo implements ApplicationRunner, Ordered { private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationRunnerDemo.class); @Override
public void run(ApplicationArguments args) throws Exception {
LOGGER.info("order:{} ApplicationRunnerDemo.run()...", getOrder());
} @Override
public int getOrder() {
return 1;
}
}

示例二:实现CommandLineRunner接口

package com.huang.pims.demo.runners;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component; @Component
public class CommandLineRunnerDemo implements CommandLineRunner, Ordered { private static final Logger LOGGER = LoggerFactory.getLogger(CommandLineRunnerDemo.class); @Override
public void run(String... args) throws Exception {
LOGGER.info("order:{} CommandLineRunner.run()...", getOrder());
} @Override
public int getOrder() {
return 0;
}
}

  以上两种创建方式,都需要使用@Component注解将之添加到Spring IOC容器中,这样,项目在启动时就会自动执行Runner启动器中的run()方法。

启动项目后的效果如下:

Runner启动器的更多相关文章

  1. Spring Boot Runner启动器

    Runner启动器 如果你想在Spring Boot启动的时候运行一些特定的代码,你可以实现接口ApplicationRunner或者CommandLineRunner,这两个接口实现方式一样,它们都 ...

  2. springboot(十五)-Runner启动器

    Runner启动器 如果你想在Spring Boot启动的时候运行一些特定的代码,你可以实现接口ApplicationRunner或者CommandLineRunner,这两个接口实现方式一样,它们都 ...

  3. 吐血整理 20 道 Spring Boot 面试题,我经常拿来面试别人!

    面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...

  4. Spring MVC & Boot & Cloud 技术教程汇总(长期更新)

    昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...

  5. 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!

    面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...

  6. 20 道 Spring Boot 面试题

    转自:微信公众号:Java技术栈(id: javastack) 面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段 ...

  7. 年轻人的第一个自定义 Spring Boot Starter!

    陆陆续续,零零散散,栈长已经写了几十篇 Spring Boot 系列文章了,其中有介绍到 Spring Boot Starters 启动器,使用的.介绍的都是第三方的 Starters ,那如何开发一 ...

  8. java初中级面试题(最新版)

    Java基础方面: 概念 1.什么是面向对象? 万物皆对象,把现实中有共同特性行为的对象抽象成类,类是程序中最基本的单位. 2.类和对象 面向对象的思想是如何在java展现的呢? 就是通过类和对象 * ...

  9. Spring Boot 面试总结(一)

    1.使用 Spring Boot 前景? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用 ...

随机推荐

  1. POJ2182:Lost Cows

    浅谈线段树和树状数组:https://www.cnblogs.com/AKMer/p/9946944.html 题目传送门:http://poj.org/problem?id=2182 线段树,倒着确 ...

  2. JZOJ 1667【AHOI2009】中国象棋——dp

    题目:https://jzoj.net/senior/#main/show/1667 只注重0.1.2的列有多少个,不注重它们的位置,就能记录了. #include<iostream> # ...

  3. 搭建基于Nagios的监控系统——之监控远程Linux服务器

    上一篇介绍了如何安装Nagios Core,这一篇跟大家分享一下如何将一台远程的Linux服务器加入纳入监控范围. 第一部分:在远程Linux上安装Nagios Plugins和NRPE   第一步: ...

  4. win10 设备摄像头,麦克风,【隐私】权限

    win10 因为隐私问题, 把mic,摄像头, 定位功能关闭,  之后调用USB摄像头的时候,忘了这个, 接口API 一直返回调用失败,[不能创建视频捕捉过滤器 hr=0x80070005] => ...

  5. Pointer 指针

    利用指针访问对象,指针指向一个对象,允许使用解引用符(操作符*)来访问对象 int ival = 42; int *p = &ival;//p存放变量ival的内存地址,p是指向变量ival的 ...

  6. Weblogic学习

    1.WebLogic目录介绍:     coherence:集群组件 modules:第三方的模块包 user_projects:存放域的文件夹(必须要创建域) utils 工具包 uninstall ...

  7. 交互原型设计软件axure rp学习之路(一)

    开始学习之前,请一定要明白:Axure是个极其极其极其简单的软件.因为你所做的就是拖部件,打字,拖部件,打字,最多加个对齐.如果你能把axure当作word或者ppt来用,那你就学会了axure. A ...

  8. IIS 中的虚拟目录 和软连接

    在WIndows 中 可以这样设置 mklink /D  C:\bb C:\cc 这样 bb 就指向 CC了 bb 在IIS中的目录其实就是虚拟目录 .这样大的文件就不用存放在IIS中了,可以放在其他 ...

  9. 315. Count of Smaller Numbers After Self(Fenwick Tree)

    You are given an integer array nums and you have to return a new counts array. The counts array has ...

  10. 2014-10-6 NOIP模拟赛

    1. 锻炼计划(exercise.pas) 身体是革命的本钱,OIers不要因为紧张的学习和整天在电脑前而忽视了健康问题.小x设计了自己的锻炼计划,但他不知道这个计划是否可行,换句话说如果计划不当可能 ...