Runner启动器
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启动器的更多相关文章
- Spring Boot Runner启动器
Runner启动器 如果你想在Spring Boot启动的时候运行一些特定的代码,你可以实现接口ApplicationRunner或者CommandLineRunner,这两个接口实现方式一样,它们都 ...
- springboot(十五)-Runner启动器
Runner启动器 如果你想在Spring Boot启动的时候运行一些特定的代码,你可以实现接口ApplicationRunner或者CommandLineRunner,这两个接口实现方式一样,它们都 ...
- 吐血整理 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...
- Spring MVC & Boot & Cloud 技术教程汇总(长期更新)
昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...
- 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...
- 20 道 Spring Boot 面试题
转自:微信公众号:Java技术栈(id: javastack) 面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段 ...
- 年轻人的第一个自定义 Spring Boot Starter!
陆陆续续,零零散散,栈长已经写了几十篇 Spring Boot 系列文章了,其中有介绍到 Spring Boot Starters 启动器,使用的.介绍的都是第三方的 Starters ,那如何开发一 ...
- java初中级面试题(最新版)
Java基础方面: 概念 1.什么是面向对象? 万物皆对象,把现实中有共同特性行为的对象抽象成类,类是程序中最基本的单位. 2.类和对象 面向对象的思想是如何在java展现的呢? 就是通过类和对象 * ...
- Spring Boot 面试总结(一)
1.使用 Spring Boot 前景? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用 ...
随机推荐
- docker安装与操作
准备和安装 1.到这个路径下下载docker engine: https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1 ...
- 更换mysql数据目录后出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法
服务器上的mysql默认数据目录为/var/lib/mysql/,同时服务器的/空间不是很大,而近期又有大量的日志需要导入进行分析,时常搞得/的空间捉襟见肘,晚上一狠心就想把mysql的数据目录转移到 ...
- javascript中原型链存在的问题
我们知道使用原型链实现继承是一个goodway:)看个原型链继承的例子. function A () { this.abc = 44; } A.prototype.getAbc = function ...
- iOS端IM开发从入门到填坑
让App聊起来 IM开发从入门到填坑Demo IM的实现方式 拿来主义,使用第三方IM服务 IM的第三方服务商国内有很多,底层协议基本上都是基于TCP的,类似有网易云信.环信.融云.极光IM.Le ...
- string行读入&&文件输入
普通读入的时候会以空格作为分隔符 直接用cin>>s读入,此时可以直接处理文件尾的情况 text代码: #include <iostream>#include <cstd ...
- 2016年第七届蓝桥杯国赛试题(JavaA组)
1.结果填空 (满分19分)2.结果填空 (满分35分)3.代码填空 (满分21分)4.程序设计(满分47分)5.程序设计(满分79分)6.程序设计(满分99分) 1.阶乘位数 9的阶乘等于:3628 ...
- 文本情感分析(一):基于词袋模型(VSM、LSA、n-gram)的文本表示
现在自然语言处理用深度学习做的比较多,我还没试过用传统的监督学习方法做分类器,比如SVM.Xgboost.随机森林,来训练模型.因此,用Kaggle上经典的电影评论情感分析题,来学习如何用传统机器学习 ...
- iscsi使用教程
服务端 服务器环境 已经安装过qemu-img的32位ubuntu $ uname -a Linux ubuntu-virtual-machine 3.13.0-46-generic #76-Ubun ...
- Scipy的应用
首先总体概括一下Scipy的用处 >>> #Scipy依赖于numpy>>> #Scipy提供了真正的矩阵>>> #Scipy包含的功能:最优化, ...
- 仿iPhone、iPad界面滑屏切换
<!DOCTYPE html> <html lange='en'> <head> <meta charset='UTF-8'> <title> ...