Spring Boot 应用启动时打印配置类信息

因为项目中有些配置是在环境变量中指定的,所以想在启动时打印一下实际的配置参数,以方便确认配置是否正确。

下面是查到的比较优雅的写法:通过监听 ApplicationReadyEvent 事件,在事件触发时打印配置参数

java 复制代码
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

@Component
@Slf4j
@RequiredArgsConstructor
public class MyApplicationListener {

    private final MyProperties myProperties;

    @EventListener(ApplicationReadyEvent.class)
    public void handleApplicationReadyEvent() {
        // 打印配置参数
        log.info("我的配置 {}", myProperties);
    }
}

其中 MyProperties 配置类上加了 Lombok 的 @Data 注解,会自动生成 toString 方法。

ApplicationReadyEvent 事件在 ApplicationContext 被初始化和刷新后,且应用程序已经准备好处理请求时触发。这是 Spring Boot 启动过程中的一个较晚阶段,确保所有初始化步骤都已完成。

相关推荐
hyunbar77710 分钟前
NOT IN 的 NULL 陷阱:一次 UNION 数据"神秘消失"
后端
张小凡vip12 分钟前
Spring Boot集成Kafka完整版
spring boot·kafka·linq
basketball61618 分钟前
Go语言从入门到进阶:8. 接口
开发语言·后端·golang
明月_清风22 分钟前
深入 Go 并发编程:从 Goroutine 到 Channel 的系统性避坑指南
后端·go
摇滚侠27 分钟前
SpringBoot 升级,依赖冲突如何解决
java·spring boot·spring
雪隐34 分钟前
AI股票小助手04-miniQMT数据采集
人工智能·后端
苏三说技术36 分钟前
MybatisPlus Pro 来了,CURD开发效率直接拉满!
后端
小江的记录本37 分钟前
【JVM虚拟机】类加载机制:类加载器、双亲委派模型、好处、破坏双亲委派的场景(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
李少兄37 分钟前
Spring 对象创建范式:依赖注入与直接实例化的边界抉择
java·后端·spring
二月龙1 小时前
SpringBoot 简化开发的核心原理:告别繁琐配置
后端