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

相关推荐
十贝25 分钟前
Tailscale 自建 DERP 中继服务器故障排查与修复记录
后端
用户6757049885021 小时前
Redis有1亿个Key,如何优雅地找出特定前缀的那10万条?
后端
用户6757049885021 小时前
程序员常犯的坑:别再用 VARCHAR 存 IP 了!用对方式,性能何止提升10倍!
后端
老马95271 小时前
opencode8-桌面应用实战 3
前端·人工智能·后端
用户298698530141 小时前
Java 中的 Word 变量管理:添加、统计、获取与删除
java·后端
神奇小汤圆1 小时前
互联网大厂精选面试八股文(附2026最新Java+AI高频题)
后端
EMA1 小时前
智旅云图(一个智能旅游规划项目)学习指南
人工智能·后端
传说之后1 小时前
Go 网络编程:从 TCP 字节流到自定义协议设计
后端·架构
Rust研习社1 小时前
手把手带你使用 Bacon 高效开发应用
后端·rust·编程语言
Nturmoils1 小时前
书签真正难的不是收藏,而是找回来:我是怎么做这个 Chrome 插件的
javascript·后端·浏览器