springboot给我们提供了两种“开机启动”方式:ApplicationRunner和CommandLineRunner。

这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法。我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他们都是在SpringApplication 执行之后开始执行的。

CommandLineRunner接口可以用来接收字符串数组的命令行参数,ApplicationRunner 是使用ApplicationArguments 用来接收参数的。

CommandLineRunner :

@Component
public class MyCommandLineRunner implements CommandLineRunner{@Overridepublic void run(String... var1) throws Exception{System.out.println("This will be execute when the project was started!");}
}

ApplicationRunner :

@Component
public class MyApplicationRunner implements ApplicationRunner {@Overridepublic void run(ApplicationArguments var1) throws Exception{System.out.println("MyApplicationRunner class will be execute when the project was started!");}
}

这两种方式的实现都很简单,直接实现了相应的接口就可以了。

记得在类上加@Component注解。

如果想要指定启动方法执行的顺序,可以通过实现org.springframework.core.Ordered接口或者使用org.springframework.core.annotation.Order注解来实现。

以ApplicationRunner 为例来分别实现。

Ordered接口:

@Component
public class MyApplicationRunner implements ApplicationRunner,Ordered{@Overridepublic int getOrder(){return 1;//通过设置这里的数字来知道指定顺序}@Overridepublic void run(ApplicationArguments var1) throws Exception{System.out.println("MyApplicationRunner1!");}
}

Order注解实现方式:

@Component
@Order(value = 1)
public class MyApplicationRunner implements ApplicationRunner{@Overridepublic void run(ApplicationArguments var1) throws Exception{System.out.println("MyApplicationRunner1!");}}

SpringBoot配置在应用启动后立即执行某些方法代码案例相关推荐

  1. SpringBoot中实现CommandLineRunner接口在项目启动后立即执行某方法

    场景 在启动SpringBoot项目的启动类之后需要其立即执行某方法. 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取 ...

  2. spring启动后自动执行一次方法

    说明 spring启动后自动执行一次方法:因为需要保证所有调度相关的依赖注入spring容器才创建所以定时调度任务,所以需要实现在Spring容器将所有的Bean都初始化完成之后才自动执行一次执行方法 ...

  3. Spring应用启动后执行任务的几种方法

    Spring应用启动后执行任务的几种方法: 1.使用@PostConstruct注解,加在要执行的方法上,使任务可在该类初始化后执行.在该方法中可使用spring注入的其它bean,所在类必须是spr ...

  4. JS,两种在页面加载完成后自动执行的方法(ready,onload)

    JS,两种在页面加载完成后自动执行的方法 1.jQuery的ready事件,需要引入jQuery的包才能使用,表示文档结构已经加载完成(不包含图片等非文字媒体文件): ready可以多次调用,可以绑定 ...

  5. spring在项目启动时就执行特定方法

    如何在项目启动时就执行特定方法 1. 方法上加注解@PostConstruct @Compant public class InitDemo{@PostConstructpublic void ini ...

  6. Springboot项目启动后立即执行方法

    Springboot项目启动后执行方法,有三种实现方式. 此篇博客介绍的方法可以在程序启动时加载一些自定义的监听器之类的,例如Socket服务的监听器,此时如果使用@PostConstract,Soc ...

  7. SpringMVC启动后自动执行

    参考:http://kylin755.iteye.com/blog/1703542 通常做法是定义一个Servlet,并在web.xml中配置Servlet的启动顺序<load-on-start ...

  8. Ubuntu桌面启动后自动执行指定的命令或程序的三种方法

     使用Ubuntu的过程中,经常会开机后执行一些固定的动作,每次手工操作很麻烦.其实Ubuntu有很多方法可以自动执行脚本和命令,先来介绍三种最简单的,文章最后会提到几种其他的方法. 一.基于图形桌面 ...

  9. linux启动jar后回到根目录,SpringBoot 打包 Jar 启动后,获得jar包所在目录,SpringBoot获取根目录...

    获取根目录五种方法 //第一种 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if (!p ...

最新文章

  1. ISOOSI网络模型的通俗解析
  2. 零基础到精通Linux,从这篇文章开始
  3. 编译问题收集、汇总与积累
  4. windows7环境下使用pip安装MySQLdb
  5. 一个html文档的文件主题,HTML清单
  6. CSS日常公用样式与一些解决方案
  7. Ajax实现原理详解
  8. 三网融合试点,是一个商机还是烫山芋?
  9. 计算机二级考试题 花纹,练习五(计算机二级考试OFFICE高级应用考试卷).doc
  10. 18.7 修改IP地址
  11. Java经典编程题50道之二十四
  12. 【渝粤教育】电大中专机电设备管理作业 题库
  13. Latex学习--参考文献排版(ieee access 模板)
  14. 计算机中1kb等于多少字节,1kb等于多少个字节
  15. Windows漏洞补丁更新网址
  16. 有些公司的年会,还不如《天龙八部》的万仙大会
  17. 智真长老临别四句偈言 智深圆寂偈语
  18. 【Linux】Centos设置Python的软链接
  19. mysql不同分数的人数,mysql如何统计每个专业分数段的人数
  20. vscode 登陆leetcode 报错:Accessing non-existent property ‘padLevels‘ of module

热门文章

  1. 【实战】使用Python部署机器学习模型的10个实践经验
  2. NLP研究方向的「情感分析领域」的简单调研
  3. 网易云信联合浙江大学信电学院成立创新与实践基地,探索音视频前沿技术
  4. 决赛评审招募 | 学生创意能有多不羁?快来网易看决赛!
  5. 抱抱星英语Antony:不要用互联网思维做教育 | MCtalk教育访谈摘录
  6. shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机...
  7. 一条数据的HBase之旅,简明HBase入门教程-开篇
  8. CentOS 7 下安装 mysql ,以及用到的命令
  9. 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
  10. vlan间ACL和VACL的区别