Spring-boot 启动完成时执行指定任务
2017-10-15 14:31
441 查看
在服务启动完成时,如果需要执行一些特定的预加载任务,则可以通过实现 CommandLineRunner 接口来实现。
效果:
![](https://images2017.cnblogs.com/blog/731716/201710/731716-20171015143054809-257735279.png)
如上,在应用中,可以通过加入明显日志的形式,提示是否发布成功。
可以看到,其输出在 StartupInfoLogger 之前。
其中注解的 value 指运行的优先级,越小则越优先。
实现
@Component public class Started implements CommandLineRunner{ private static final Logger LOGGER = LoggerFactory.getLogger(Started.class); @Override public 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("------------------------------------------------------------------------------"); } }
效果:
![](https://images2017.cnblogs.com/blog/731716/201710/731716-20171015143054809-257735279.png)
如上,在应用中,可以通过加入明显日志的形式,提示是否发布成功。
可以看到,其输出在 StartupInfoLogger 之前。
优先级
如果存在多个 CommandLineRunner 实现类时,可以通过 @Order 来规定它们的加载顺序,如下所示:@Component @Order(1) public class Started implements CommandLineRunner{ ... }
其中注解的 value 指运行的优先级,越小则越优先。
参考资料
[1] Spring Boot 启动加载数据 CommandLineRunner相关文章推荐
- 详解SpringBoot 创建定时任务(配合数据库动态执行)
- Spring Boot相关知识(二) Spring Boot项目启动的执行顺序和原理
- SpringBoot程序启动时执行初始化代码
- Spring Boot 启动时执行加载资源/执行操作
- spring boot启动简单的定时任务
- springboot动态配置定时任务2种方式,整合Quartz多线程并发执行多个定时任务配置
- springboot 修改启动时默认加载application.properties文件以及加载指定配置文件
- 在springboot中,如何做到当项目启动的时候去执行这个逻辑
- springboot 执行定时任务
- Spring Boot使用方法小札(2):执行定时任务
- Spring Boot 在命令行指定主类启动程序
- springboot 学习之路 9 (项目启动后就执行特定方法)
- spring boot, 容器启动后执行某操作
- 详解SpringBoot程序启动时执行初始化代码
- springboot war放入tomcat启动怎么指定使用外部application.properties
- Spring,启动程序后顺序执行指定操作
- Spring Boot @Async 异步任务执行方法
- Spring boot启动之后执行方法 CommandLineRunner
- spring-boot笔记-日志记录、启动加载、定时任务(五)
- spring-boot:run启动时,指定spring.profiles.active