SpringBoot监听机制

springboot监听机制是对java监听机制的封装
在这里插入图片描述
springboot在项目启动时,会对几个监听器回调,我们可以实现这些监听器接口,在项目启动时完成一些操作。

springboot提供了4个监听接口:如下

  1. ApplicationContextInitializer

  2. SpringApplicationRunListener

  3. ApplicationRunner

  4. CommandLineRunner
    我们使用只要写实现类复写方法即可。
    在这里插入图片描述
    然后启动项目,我们发现只有两个监听类被自动执行了。如下:
    在这里插入图片描述
    看到这里,也就是说在项目启动时,会自动加载两个监听类,而另外两个监听类没有加载执行。那么,这两个自动加载的监听类有什么作用呢?用在哪?

    使用场景:如我们在使用redis缓存时,我们希望在项目启动时,redis能够把数据库中的一些信息提前加载进来作为缓存。为什么这样做呢?为了防止第一个人去访问时,缓存中没数据,那么只能查数据库,则效率就会低。这个动作,我们叫做缓存预热。
    接下来,我们打印一下参数信息。
    在这里插入图片描述
    其实,结果是[]。空数组。
    我们配置下参数。
    在这里插入图片描述
    在打印:
    在这里插入图片描述
    也就是说args里面就是我们配置的参数。

当然,另外两种需要我们配置后才能使用。
在这里插入图片描述
在spring.factories文件中配置即可,
在这里插入图片描述
这时启动项目会报错,需要在MySpringApplicationRunListener实现类中加上有参构造方法。可以看接口源码。
在这里插入图片描述
在启动项目
在这里插入图片描述
这里模拟了springboot另外两种监听接口的运行时机。可以看到接口中的哪些方法先被执行。当然这里只是演示监听接口的使用方式,以后代码中,需要在各个时机写具体的业务逻辑的操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值