首页 > 其他分享 >springboot中执行完某些逻辑后,才算bean加载完,applicationContext才加载完毕

springboot中执行完某些逻辑后,才算bean加载完,applicationContext才加载完毕

时间:2024-05-22 14:51:19浏览次数:27  
标签:applicationContext springboot 22 05 2024 5min 加载 14

核心思想

实现InitializingBean接口,重写afterPropertiesSet方法

范例代码

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class Demo implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
        log.info("开始休眠5min");
        Thread.sleep(1000 * 60 * 5);
        log.info("休眠5min结束");
    }
}

运行证明

[INFO] 2024-05-22 14:40:24.962 com.xxx.jscaffold.handler.Demo:[12][]- 开始休眠5min
[INFO] 2024-05-22 14:45:24.959 com.xxx.jscaffold.handler.Demo:[14][]- 休眠5min结束
[INFO] 2024-05-22 14:45:26.381 p6spy:[60][]-  Consume Time:60 ms 2024-05-22 14:45:26
 Execute SQL:SELECT 1

[INFO] 2024-05-22 14:45:26.887 com.jdl.jscaffold.MainApplication:[61][]- Started MainApplication in 308.167 seconds (JVM running for 309.04)

使用场景

可以定义一个sercie来实现InitializingBean接口,用于程序启动时加载元数据到内存中,如果没加载完毕,不算springContext成功结束。

标签:applicationContext,springboot,22,05,2024,5min,加载,14
From: https://www.cnblogs.com/PythonOrg/p/18206232

相关文章

  • springboot集成logback-spring.xml日志文件
    logback-spring.xml:<!--Logbackconfiguration.Seehttp://logback.qos.ch/manual/index.html--><configurationscan="true"scanPeriod="10seconds"><springPropertyscope="context"name="logLevel"s......
  • Java核心面试知识集—SpringBoot面试题
    概述什么是SpringBoot?SpringBoot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。SpringBoot有哪些优点?SpringBoot主要有如下优点:容易上手,提升开发效率,为Spring开发......
  • H5 缓存机制浅析 移动端 Web 加载性能优化
     H5缓存机制浅析移动端Web加载性能优化 转自:https://www.cnblogs.com/bugly/p/5039153.html1H5缓存机制介绍H5,即HTML5,是新一代的HTML标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5引入的离线存储,这意味着web应用可......
  • 【Springboot】复杂单元测试启动类-只测试OpenFeign
    复杂单元测试启动类-只测试OpenFeign背景随着springboot应用工程规模越来越大,集成了较多的自动配置的程序,例如SpringDataJPA,SpringCloudOpenFeign,ApacheDubbo有时会需要在本地运行测试,但要么因为数据库无法在办公网络环境连接,要么注册中心无法连接,这就导致本地完全无......
  • springboot 请求前自动给 参数的某个属性赋值
     springboot请求前自动给参数的某个属性赋值在SpringBoot中,可以通过自定义HandlerMethodArgumentResolver来在请求处理方法前自动给参数的某个属性赋值。以下是一个简单的例子:创建一个自定义注解来标记需要自动赋值的参数:  @Target(ElementType.PARA......
  • 错误: 找不到或无法加载主类 XXX类 || jmap -histo:live 2345 | less
    今天在学习jvm的时候,想要通过jmap-histo:live20368|less命令查看堆中存活对象信息。但是在windows系统中貌似好像不支持这个命令 于是我将自己的程序上传到了Linux系统中,但是经过编译完了之后,运行该class文件的时候,提示:错误:找不到或无法加载主类XXX类。这个错误的原......
  • springboot使controller异步调用
    调用controller方法,遇到操作时间很长的情况下,不希望前端一直等待操作,而希望前端立马接收到操作启动的反馈,而真正的操作在后端执行,需要用到异步调用的方法。实现步骤如下:一、配置异步支持:首先,在应用程序的主类上添加@EnableAsync注解,以启用异步支持importorg.springfram......
  • 基于Springboot的rabbitTemplate的Publisher和Consumer初始化
    Publisher初始化的bean(声明new 的queue或者exchange)不会连接broker(Rabbit),在开始rabbitTemplate.convertAndSend时才会连接。消息发布到没有声明的exchange会报错,声明exchange和queue,Rabbit会创建,如果没有的话。如果exchange没有绑定queue,消息(默认false)会被抛弃。如果exc......
  • C#应用的欢迎界面异步加载方案
          这次整理以前的代码,然后想到了应用的欢迎界面窗体的问题。这个例子是在应用中启动一个线程来进行显示欢迎窗体的,对于应用的启动无影响,与其他人的源码不相同,欢迎读者进行复用此类库。      以前有编写过欢迎界面窗体的代码,不过这次翻出来的时候想把它完善一......
  • springboot2 - validation
    业务需求:客户端提交的表单,后台需要有统一的校验拦截机制。Maven依赖除了hibernate-validator,springboot本身自带这些依赖。<dependencys><dependency><groupId>jakarta.validation</groupId><artifactId>jakarta.validation-api</artifactId>......