springboot启动后执行方法_SpringBoot如何启动就执行自己定义的一些功能?

491186a4a6b657fb3f2ced7eecaaeb46.png

在实际项目开发中,我们可能会希望在项目启动后去加载一些资源信息、执行某段特定逻辑等等初始化工作,这时候我们就需要用到SpringBoot提供的开机自启的功能,SpringBoot给我们提供了两个方式:CommandLineRunner和ApplicationRunner,CommandLineRunner、ApplicationRunner接口是在容器启动成功后的最后一步回调,这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法

42daae618ab747057199af105fd95b27.png

接下来给大家讲解一下这两个方式如何使用

一、CommandLineRunner

1、创建SpringBoot项目

如何创建SpringBoot项目这里不做过多介绍

2、建一个自己的事件监听类

实现CommandLineRunner接口

/** * @author Gjing **/@Componentpublic class MyStartRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("自己定义的第一个启动后事件开始执行。。。。。。。"); }}

启动项目

1b0a539d2358dcc64a868c3d7c38ce58.png

3、定义多个监听类

如果需要多个监听类,我们只需要定义多个就行了,通过@Order注解或者实现Order接口来标明加载顺序

监听类1

/** * @author Gjing */@Component@Order(1)public class MyStartRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("自己定义的第一个启动后事件开始执行。。。。。。。"); }}

监听类2

/** * @author Gjing **/@Component@Order(2)public class MyStartRunner2 implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("自己定义的第二个启动后事件开始执行。。。。。。。"); }}

启动项目

81a7e3d819422f090c752710b2369623.png

二、ApplicationRunner

创建自定义监听类

实现ApplicationRunner接口

/** * @author Gjing **/@Componentpublic class MyApplicationRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println("我自定义的ApplicationRunner事件。。。。。。"); }}

启动项目

a5db0cd3174ec14740ec6e0bf7345bef.png

三、两者的区别

ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLineRunner接口中run方法的参数为String数组。想要更详细地获取命令行参数,那就使用ApplicationRunner接口

f47d3185844d070dd6cd0422c601bf09.png

写在最后

  • 第一:看完点赞,感谢您的认可;
  • ...
  • 第二:随手转发,分享知识,让更多人学习到;
  • ...
  • 第三:记得点关注,每天更新的!!!
  • ...
11bdf13bd3228e3f7b3344cb79d85675.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值