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

相关推荐
前路不黑暗@7 小时前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
毅炼7 小时前
Java 集合常见问题总结(3)
java·开发语言·后端
笨蛋不要掉眼泪11 小时前
Nacos配置中心详解:核心用法、动态刷新与经典面试题解析
java·数据库·后端
REDcker11 小时前
DNS技术详解
服务器·后端·计算机网络·互联网·dns·服务端
javaTodo11 小时前
Claude Code AI 子代理(Subagents):何时用、怎么用完全指南
后端
想用offer打牌11 小时前
一站式了解Agent Skills
人工智能·后端·ai编程
UrbanJazzerati13 小时前
一文介绍PostgreSQL与基本架构
后端·面试
大尚来也13 小时前
MySQL 8.0 性能优化全攻略:索引、查询与配置调优的实战指南
后端
大鹏198813 小时前
Go 语言高并发服务设计与性能调优实战:从万级到百万级并发的演进之路
后端
Tony Bai13 小时前
Go 1.26 :go mod init 默认行为的变化与 Go 版本管理的哲学思辨
开发语言·后端·golang