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 启动过程中的一个较晚阶段,确保所有初始化步骤都已完成。

相关推荐
你好潘先生3 分钟前
让 AI 任务不丢进度:YeeroAI 后台续跑与全局快捷操作实践
前端·人工智能·后端
Circ.10 分钟前
SpringBoot 实现文件上传与下载(完整源码 + 详细教程)
java·spring boot·后端
Java技术小馆23 分钟前
Claude Code CLI 命令大全:60 个原生命令一次讲清
前端·后端
zzqssliu25 分钟前
Spring Boot + XXL-JOB 搭建淘宝代购系统任务调度中心
java·spring boot·后端
kunge20131 小时前
Claude Code 工作流中的命令实现与自定义指南
人工智能·后端·架构
明月_清风1 小时前
Go 没有 `class`,如何实现面向对象三要素?与传统 OOP 的深度对比
后端·go
xixingzhe21 小时前
spring构造函数注入对比@Resource
java·后端·spring
程序员牛奶1 小时前
[Algo-2]双指针技巧:你真的学懂双指针了吗?
后端
Kir1to2 小时前
RabbitMQ 核心概念与快速安装
后端
Kir1to2 小时前
Exchange 交换机类型,六种工作模式与 Spring Boot 整合
后端