springboot 项目启动后-立刻执行自定义逻辑

springboot 项目启动后-立刻执行自定义逻辑

实现方式

  1. 新建一个ApplicationRunnerConfig类实现ApplicationRunner
  2. 并重写run方法,并在类上加上**@Component**注解。
  3. 该注解用于将一个类标记为Spring的组件(Component)。被@Component注解标记的类将被Spring自动扫描并注册为bean,使其可以被Spring容器管理和使用。
  4. 具体来说,当使用@Component注解标记一个类时,Spring会自动将其实例化,并将其作为bean注册到应用程序的上下文(ApplicationContext)中。
    下方为具体的示例代码。
@Component
@Slf4j
public class ApplicationRunnerConfig implements ApplicationRunner {

    @Autowired
    private RedisCache redisCache;

    /**
     * 在项目启动后,将对应的key下边的值都变为 false
     */
    @Override
    public void run(ApplicationArguments args) throws Exception {

        Collection<String> keys = redisCache.keys(CloudConstants.IS_CONTINUE + "*");
        log.info("记录是否同步这个表单的名称是:{}", JSONObject.toJSONString(keys));
        for (String key : keys) {
            log.info("键名:{}", key);
            Boolean cacheObject = (Boolean) redisCache.getCacheObject(key);
            log.info("值:{}", cacheObject);
            if (cacheObject) {
                log.info("如果是true,则改为false");
                redisCache.setCacheObject(key, false);
            }
        }
    }
}

上述代码主要是将redis中某一key下方的所有key对应的value,如果是true的话改为false。
具体实现逻辑可以自己自定义。

ApplicationRunner实现解释

  1. 在应用程序启动过程中,Spring Boot会创建一个SpringApplication实例,并调用其run方法。
  2. SpringApplication在启动过程中会触发多个事件,其中包括ApplicationStartingEvent、ApplicationEnvironmentPreparedEvent等。
  3. 当Spring Boot触发ApplicationStartedEvent事件时,会调用SpringApplicationRunListeners中的相应方法。
  4. SpringApplicationRunListeners中的方法会调用ApplicationRunner接口的实现类的run方法。
  5. ApplicationRunner接口的实现类中的run方法会在应用程序启动后被执行,可以在其中编写自定义的初始化逻辑。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值