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

相关推荐
北城以北88885 分钟前
Quartz定时任务
java·spring boot·intellij-idea
子兮曰12 分钟前
WSL 配 GPU 用 Docker 的折腾指南(2026 年版)
linux·前端·后端
Nturmoils32 分钟前
从 mysql 命令切到 ksql,第一步先把连接搞明白
后端
鹏多多34 分钟前
锐评CSDN最近上线的AI数字营销:烂完之前最后再捞一笔
前端·后端·程序员
ZengLiangYi40 分钟前
AI 编程工具的数据格式为什么不能统一
javascript·后端·架构
Master_Azur41 分钟前
JavaEE之网络编程(TomCat介绍)
后端·网络协议
预知同行43 分钟前
订单超时自动取消,你真的做对了吗?从定时任务到千万级高并发方案的完整演进
后端
ServBay1 小时前
2026年重新定义 Python 开发工作流的8个现代化工具
后端·python
Java内核笔记1 小时前
Spring Security 过滤器链的构建过程:从 HttpSecurity 到 DefaultSecurityFilterChain
后端
自进化Agent智能体2 小时前
Hermes 自进化Skill:让AI能力自己长出来
后端