在服务启动完成时,如果需要执行一些特定的预加载任务,则可以通过实现 CommandLineRunner 接口来实现。

实现

@Component
public class Started implements CommandLineRunner{private static final Logger LOGGER = LoggerFactory.getLogger(Started.class);
@Overridepublic void run(String... strings) throws Exception {LOGGER.info("App Starting ... ");LOGGER.info("------------------------------------------------------------------------------");LOGGER.info("|                                      |                                     |");LOGGER.info("|                                --====|====--                               |");LOGGER.info("|                                      |                                     |");LOGGER.info("|                                                                            |");LOGGER.info("|                                  .-'''''-.                                 |");LOGGER.info("|                                .'_________'.                               |");LOGGER.info("|                               /_/_|__|__|_\\_\\                              |");LOGGER.info("|                              ;'-._       _.-';                             |");LOGGER.info("|         ,--------------------|    `-. .-'    |--------------------,        |");LOGGER.info("|          ``''--..__    ___   ;       '       ;   ___    __..--''``         |");LOGGER.info("|                    `'-// \\\\.._\\             /_..// \\\\-'`                   |");LOGGER.info("|                       \\\\_//    '._       _.'    \\\\_//                      |");LOGGER.info("|                        `-`        ``---``        `-`                       |");LOGGER.info("------------------------------------------------------------------------------");}
}

效果:

如上,在应用中,可以通过加入明显日志的形式,提示是否发布成功。

可以看到,其输出在 StartupInfoLogger 之前。

优先级

如果存在多个 CommandLineRunner 实现类时,可以通过 @Order 来规定它们的加载顺序,如下所示:

@Component
@Order(1)
public class Started implements CommandLineRunner{...
}

其中注解的 value 指运行的优先级,越小则越优先。

参考资料

[1]  Spring Boot 启动加载数据 CommandLineRunner

转载于:https://www.cnblogs.com/zhengbin/p/7670989.html

Spring-boot 启动完成时执行指定任务相关推荐

  1. 【264期】面试官问:Spring Boot 启动时自动执行代码方式有哪几种?解释一二!...

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 前言 目前 ...

  2. 在Spring Boot启动时运行代码

    Spring Boot会自动为我们执行很多配置,但是迟早您将不得不做一些自定义工作. 在本文中,您将学习如何进入应用程序引导生命周期并在Spring Boot启动时执行代码 . 因此,让我们看看该框架 ...

  3. Spring Boot 启动执行某个方法的三种实现方式

    Spring Boot 启动执行某个方法的三种实现方式 Spring Boot 启动执行某个方法的三种实现方式 第一种方式 @PostConstruct 注解解释 具体实现 第二种方式 Applica ...

  4. Spring boot 启动后执行特定的操作

    有时候我们需要在应用启动完成后执行一些特定的操作,比如: 删除一些临时文件或者Redis中的缓存 将一些字典类的数据加载到缓存,这样就不用每次去数据库中查了,有些关联数据从缓存中取得赋值就可以了,不再 ...

  5. java启动时执行_java怎么实现项目启动时执行指定方法

    本文实例为大家共享了java项目启动时执行指定方法,供大家参考,详细内容如下 想到的就是监听步骤如下: 1.配置web.xml com.listener.InitListener 2.编写InitLi ...

  6. Spring Boot启动过程源码分析--转

    https://blog.csdn.net/dm_vincent/article/details/76735888 关于Spring Boot,已经有很多介绍其如何使用的文章了,本文从源代码(基于Sp ...

  7. linux关机前执行脚本,Linux关机时执行指定脚本

    要实现在Linux关机时执行某个脚本的具体思路 1.在文件夹 /etc/init.d/ 下创建关机时需要执行的脚本 file_name; 2.分别在文件夹 /etc/rc0.d/ 和 /etc/rc6 ...

  8. java报错空指针异常_分析使用Spring Boot进行单元测试时,报出空指针异常

    使用Spring Boot进行单元测试时,发现使用@Autowired注解的类无法自动注入,当使用这个类的实例的时候,报出NullPointerException,即空指针异常. Spring Boo ...

  9. [Spring Boot] 2. Spring Boot 启动过程定制化

    在上一篇文章中,从源码角度介绍了Spring Boot的启动过程.启动的代码虽然只有短短的一行,但是背后所做的工作还真不少,其中有一些可以定制化的部分,主要分为以下几个方面: 初始化器(Initial ...

最新文章

  1. Hyper-v Server重复数据删除技术
  2. 远程连接计算机用户名怎样修改,更改服务器远程桌面用户名
  3. CF1516E. Baby Ehab Plays with Permutations(组合数学)
  4. 今天看到{飞鸽传书2009}
  5. 小波变换和motion信号处理(二)
  6. 安装@vue/cli脚手架又又又出问题啦!!!
  7. 行为树(Behavior trees)
  8. html中鼠标冒泡泡,鼠标经过出现气泡框的简单实例
  9. oracle cdb to no cdb,将Oracle 12c非CDB数据库转换为CDB多租户体系结构
  10. win7系统关闭蓝牙服务器,win7系统蓝牙服务被禁用的解决方法
  11. 计算机无法进入bios模式,电脑系统无法进入bios界面解决方法
  12. 解析:Are We Really Making Much Progress?A Worrying Analysis of Recent Neural Recommendation Approaches
  13. Markdown——图片、文字显示居中的一种方法
  14. Mac如何录屏 同时录内置声音
  15. python协程怎么做数据同步_Python 中的进程、线程、协程、同步、异步、回调
  16. pdf怎么压缩文件到最小?如何将pdf压缩到指定大小?压缩pdf文件大小怎么压缩?如何压缩pdf大小?
  17. NumberRunningTextView(数字会滚动的TextView)
  18. go (golang) DNS域名解析实现
  19. 用微前端框架qiankun配置项目的实战
  20. git+bitbucket使用备忘录

热门文章

  1. 最适合python程序员用的笔记本-作为一个Python程序员,电脑上应该具备哪些软件?...
  2. python数字类型-Python数字类型及其操作
  3. 基于python的界面自动化测试-Python实现性能自动化测试竟然如此简单
  4. python turtle画熊-用Python Turtle 画可爱的熊猫
  5. python编程小学生学好吗-连小学生都在学的Python,究竟就业方向有哪些?
  6. python是什么公司开发的软件-python适合开发桌面软件吗?
  7. python中处理日期和时间的标准模块是-datetime
  8. 不是python中用于开发用户界面的第三方库-Python计算生态习题(50题)
  9. python装饰器-理解Python装饰器(Decorator)
  10. python应该怎么自学-新手该如何学python怎么学好python?